diff --git a/internal/database/migrations/00019_phase7_oauth.sql b/internal/database/migrations/00019_phase7_oauth.sql index 1a46bcc..6fc6eed 100644 --- a/internal/database/migrations/00019_phase7_oauth.sql +++ b/internal/database/migrations/00019_phase7_oauth.sql @@ -6,8 +6,12 @@ -- "provider:subject"), email — тоже индексом: сырых PII в таблице нет -- (AGENT.md 9.2). Токены провайдеров не сохраняются вовсе: они нужны только -- на время обмена кода на профиль. +-- +-- `IF NOT EXISTS` — страховка от частично применённой миграции: на стенде +-- таблицу успела создать промежуточная редакция 00018 (в ней обе таблицы +-- жили вместе), и без этого инстанс не поднимался после обновления. -CREATE TABLE oauth_accounts ( +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, @@ -17,7 +21,7 @@ CREATE TABLE oauth_accounts ( last_login_at TEXT, UNIQUE (provider, subject_index) ); -CREATE INDEX oauth_accounts_user_idx ON oauth_accounts (user_id); +CREATE INDEX IF NOT EXISTS oauth_accounts_user_idx ON oauth_accounts (user_id); -- +goose Down -DROP TABLE oauth_accounts; +DROP TABLE IF EXISTS oauth_accounts;