github.com/icyphox/x@v0.0.355-0.20220311094250-029bd783e8b8/popx/stub/migrations/legacy/20200830172221_recovery_token_expires.sqlite3.down.sql (about) 1 DELETE FROM identity_recovery_tokens WHERE selfservice_recovery_flow_id IS NULL; 2 DROP INDEX IF EXISTS "identity_recovery_addresses_code_uq_idx"; 3 DROP INDEX IF EXISTS "identity_recovery_addresses_code_idx"; 4 CREATE TABLE "_identity_recovery_tokens_tmp" ( 5 "id" TEXT PRIMARY KEY, 6 "token" TEXT NOT NULL, 7 "used" bool NOT NULL DEFAULT 'false', 8 "used_at" DATETIME, 9 "identity_recovery_address_id" char(36) NOT NULL, 10 "selfservice_recovery_flow_id" char(36) NOT NULL, 11 "created_at" DATETIME NOT NULL, 12 "updated_at" DATETIME NOT NULL, 13 "expires_at" DATETIME NOT NULL DEFAULT '2000-01-01 00:00:00', 14 "issued_at" DATETIME NOT NULL DEFAULT '2000-01-01 00:00:00', 15 FOREIGN KEY (identity_recovery_address_id) REFERENCES identity_recovery_addresses (id) ON UPDATE NO ACTION ON DELETE CASCADE, 16 FOREIGN KEY (selfservice_recovery_flow_id) REFERENCES selfservice_recovery_flows (id) ON UPDATE NO ACTION ON DELETE CASCADE 17 ); 18 CREATE UNIQUE INDEX "identity_recovery_addresses_code_uq_idx" ON "_identity_recovery_tokens_tmp" (token); 19 CREATE INDEX "identity_recovery_addresses_code_idx" ON "_identity_recovery_tokens_tmp" (token); 20 INSERT INTO "_identity_recovery_tokens_tmp" (id, token, used, used_at, identity_recovery_address_id, selfservice_recovery_flow_id, created_at, updated_at, expires_at, issued_at) SELECT id, token, used, used_at, identity_recovery_address_id, selfservice_recovery_flow_id, created_at, updated_at, expires_at, issued_at FROM "identity_recovery_tokens"; 21 DROP TABLE "identity_recovery_tokens"; 22 ALTER TABLE "_identity_recovery_tokens_tmp" RENAME TO "identity_recovery_tokens"; 23 DROP INDEX IF EXISTS "identity_recovery_addresses_code_uq_idx"; 24 DROP INDEX IF EXISTS "identity_recovery_addresses_code_idx"; 25 CREATE TABLE "_identity_recovery_tokens_tmp" ( 26 "id" TEXT PRIMARY KEY, 27 "token" TEXT NOT NULL, 28 "used" bool NOT NULL DEFAULT 'false', 29 "used_at" DATETIME, 30 "identity_recovery_address_id" char(36) NOT NULL, 31 "selfservice_recovery_flow_id" char(36) NOT NULL, 32 "created_at" DATETIME NOT NULL, 33 "updated_at" DATETIME NOT NULL, 34 "issued_at" DATETIME NOT NULL DEFAULT '2000-01-01 00:00:00', 35 FOREIGN KEY (identity_recovery_address_id) REFERENCES identity_recovery_addresses (id) ON UPDATE NO ACTION ON DELETE CASCADE, 36 FOREIGN KEY (selfservice_recovery_flow_id) REFERENCES selfservice_recovery_flows (id) ON UPDATE NO ACTION ON DELETE CASCADE 37 ); 38 CREATE UNIQUE INDEX "identity_recovery_addresses_code_uq_idx" ON "_identity_recovery_tokens_tmp" (token); 39 CREATE INDEX "identity_recovery_addresses_code_idx" ON "_identity_recovery_tokens_tmp" (token); 40 INSERT INTO "_identity_recovery_tokens_tmp" (id, token, used, used_at, identity_recovery_address_id, selfservice_recovery_flow_id, created_at, updated_at, issued_at) SELECT id, token, used, used_at, identity_recovery_address_id, selfservice_recovery_flow_id, created_at, updated_at, issued_at FROM "identity_recovery_tokens"; 41 42 DROP TABLE "identity_recovery_tokens"; 43 ALTER TABLE "_identity_recovery_tokens_tmp" RENAME TO "identity_recovery_tokens"; 44 DROP INDEX IF EXISTS "identity_recovery_addresses_code_uq_idx"; 45 DROP INDEX IF EXISTS "identity_recovery_addresses_code_idx"; 46 CREATE TABLE "_identity_recovery_tokens_tmp" ( 47 "id" TEXT PRIMARY KEY, 48 "token" TEXT NOT NULL, 49 "used" bool NOT NULL DEFAULT 'false', 50 "used_at" DATETIME, 51 "identity_recovery_address_id" char(36) NOT NULL, 52 "selfservice_recovery_flow_id" char(36) NOT NULL, 53 "created_at" DATETIME NOT NULL, 54 "updated_at" DATETIME NOT NULL, 55 FOREIGN KEY (identity_recovery_address_id) REFERENCES identity_recovery_addresses (id) ON UPDATE NO ACTION ON DELETE CASCADE, 56 FOREIGN KEY (selfservice_recovery_flow_id) REFERENCES selfservice_recovery_flows (id) ON UPDATE NO ACTION ON DELETE CASCADE 57 ); 58 CREATE UNIQUE INDEX "identity_recovery_addresses_code_uq_idx" ON "_identity_recovery_tokens_tmp" (token); 59 CREATE INDEX "identity_recovery_addresses_code_idx" ON "_identity_recovery_tokens_tmp" (token); 60 INSERT INTO "_identity_recovery_tokens_tmp" (id, token, used, used_at, identity_recovery_address_id, selfservice_recovery_flow_id, created_at, updated_at) SELECT id, token, used, used_at, identity_recovery_address_id, selfservice_recovery_flow_id, created_at, updated_at FROM "identity_recovery_tokens"; 61 62 DROP TABLE "identity_recovery_tokens"; 63 ALTER TABLE "_identity_recovery_tokens_tmp" RENAME TO "identity_recovery_tokens";