From 79c2f330007733a836eb7890c039393a4a2fadb8 Mon Sep 17 00:00:00 2001 From: Alice Gaudon Date: Wed, 11 Nov 2020 19:29:04 +0100 Subject: [PATCH] Deprecate legacy migrations Fix CreateUsersAndUserEmailsTableMigration sq --- src/auth/migrations/CreateUsersAndUserEmailsTable.ts | 5 +++-- src/auth/migrations/DropNameFromUsers.ts | 4 +++- src/auth/migrations/FixUserMainEmailRelation.ts | 3 +++ test/_migrations.ts | 4 ---- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/auth/migrations/CreateUsersAndUserEmailsTable.ts b/src/auth/migrations/CreateUsersAndUserEmailsTable.ts index 41ea2d0..ba22b88 100644 --- a/src/auth/migrations/CreateUsersAndUserEmailsTable.ts +++ b/src/auth/migrations/CreateUsersAndUserEmailsTable.ts @@ -8,7 +8,7 @@ export default class CreateUsersAndUserEmailsTable extends Migration { await this.query(`CREATE TABLE users ( id INT NOT NULL AUTO_INCREMENT, - name VARCHAR(64), + main_email_id INT, is_admin BOOLEAN NOT NULL DEFAULT false, created_at DATETIME NOT NULL DEFAULT NOW(), updated_at DATETIME NOT NULL DEFAULT NOW(), @@ -19,11 +19,12 @@ export default class CreateUsersAndUserEmailsTable extends Migration { id INT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, email VARCHAR(254) UNIQUE NOT NULL, - main BOOLEAN NOT NULL, created_at DATETIME NOT NULL DEFAULT NOW(), PRIMARY KEY (id), FOREIGN KEY user_fk (user_id) REFERENCES users (id) ON DELETE CASCADE )`); + await this.query(`ALTER TABLE users + ADD FOREIGN KEY main_user_email_fk (main_email_id) REFERENCES user_emails (id) ON DELETE SET NULL`); } public async rollback(): Promise { diff --git a/src/auth/migrations/DropNameFromUsers.ts b/src/auth/migrations/DropNameFromUsers.ts index 28796cb..1c7352a 100644 --- a/src/auth/migrations/DropNameFromUsers.ts +++ b/src/auth/migrations/DropNameFromUsers.ts @@ -1,5 +1,8 @@ import Migration from "../../db/Migration"; +/** + * @deprecated - TODO may be remove at next major version >= 0.24, replace with DummyMigration. + */ export default class DropNameFromUsers extends Migration { public async install(): Promise { await this.query('ALTER TABLE users DROP COLUMN name'); @@ -8,5 +11,4 @@ export default class DropNameFromUsers extends Migration { public async rollback(): Promise { await this.query('ALTER TABLE users ADD COLUMN name VARCHAR(64)'); } - } diff --git a/src/auth/migrations/FixUserMainEmailRelation.ts b/src/auth/migrations/FixUserMainEmailRelation.ts index ccde3df..db32337 100644 --- a/src/auth/migrations/FixUserMainEmailRelation.ts +++ b/src/auth/migrations/FixUserMainEmailRelation.ts @@ -1,5 +1,8 @@ import Migration from "../../db/Migration"; +/** + * @deprecated - TODO may be remove at next major version >= 0.24, replace with DummyMigration. + */ export default class FixUserMainEmailRelation extends Migration { public async install(): Promise { await this.query(`ALTER TABLE users diff --git a/test/_migrations.ts b/test/_migrations.ts index cc2618e..ac28e80 100644 --- a/test/_migrations.ts +++ b/test/_migrations.ts @@ -1,13 +1,9 @@ import CreateMigrationsTable from "../src/migrations/CreateMigrationsTable"; import CreateUsersAndUserEmailsTable from "../src/auth/migrations/CreateUsersAndUserEmailsTable"; -import FixUserMainEmailRelation from "../src/auth/migrations/FixUserMainEmailRelation"; -import DropNameFromUsers from "../src/auth/migrations/DropNameFromUsers"; import CreateMagicLinksTable from "../src/auth/migrations/CreateMagicLinksTable"; export const MIGRATIONS = [ CreateMigrationsTable, CreateUsersAndUserEmailsTable, - FixUserMainEmailRelation, - DropNameFromUsers, CreateMagicLinksTable, ];