29 lines
2.0 KiB
SQL
29 lines
2.0 KiB
SQL
|
|
-- +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);
|