-- +goose Up -- Вход через внешние провайдеры (OAuth) удалён по решению владельца -- 27.09.2026: самодостаточному инстансу «на своём сервере» он не нужен, а -- оператору пришлось бы заводить отдельное приложение у каждого провайдера -- (свой client id/secret, свои redirect URI, модерация) — слишком много -- трения ради способа входа, который дублирует пароль и ключи доступа. -- Решение и разбор — D-084. -- -- Таблица осталась от Фазы 7 (миграция 00019, её не переписываем: она уже -- применена на стендах), кода, который её читает, больше нет. Данные в ней -- могли быть только у инсталляций, которые реально включали OAuth; на наших -- стендах провайдеры ни разу не настраивались, поэтому удаление безопасно. DROP TABLE IF EXISTS oauth_accounts; -- +goose Down -- Откат возвращает структуру таблицы (пустую): сам код входа лежит в истории -- git, повторное включение потребует и его, и новые ключи провайдеров. CREATE TABLE IF NOT EXISTS oauth_accounts ( id INTEGER PRIMARY KEY, user_id INTEGER NOT NULL REFERENCES users (id) ON DELETE CASCADE, provider TEXT NOT NULL, subject_index TEXT NOT NULL, email_index TEXT NOT NULL DEFAULT '', created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')), last_login_at TEXT, UNIQUE (provider, subject_index) ); CREATE INDEX IF NOT EXISTS oauth_accounts_user_idx ON oauth_accounts (user_id);