-- Привязка API-ключей к ботам (1:1) и атрибуция действий ботов. -- organization_api_keys.bot_id — ключ выдан боту; NULL — обычные/legacy-ключи (их может быть много). -- task_audit_log.bot_id и file_uploads.bot_id — атрибуция действий, выполненных по ключу бота. ALTER TABLE organization_api_keys ADD COLUMN IF NOT EXISTS bot_id int REFERENCES bots(id); -- Один ключ на бота (частичный индекс: NULL не ограничивается) CREATE UNIQUE INDEX IF NOT EXISTS organization_api_keys_bot_id_unique ON organization_api_keys (bot_id) WHERE bot_id IS NOT NULL; ALTER TABLE task_audit_log ADD COLUMN IF NOT EXISTS bot_id int; ALTER TABLE file_uploads ADD COLUMN IF NOT EXISTS bot_id int;