diff --git a/keyserver/src/database/migration-config.js b/keyserver/src/database/migration-config.js --- a/keyserver/src/database/migration-config.js +++ b/keyserver/src/database/migration-config.js @@ -42,6 +42,8 @@ const botViewer = createScriptViewer(bots.commbot.userID); +// wrap_in_transaction_and_block_requests doesn't work right now +// Tracked in ENG-9228 export type MigrationType = | 'wrap_in_transaction_and_block_requests' | 'run_simultaneously_with_requests'; @@ -1084,6 +1086,20 @@ }, migrationType: 'run_simultaneously_with_requests', }, + { + version: 72, + migrationPromise: () => + dbQuery( + SQL` + ALTER TABLE memberships + ADD COLUMN IF NOT EXISTS last_message_for_unread_check + bigint(20) NOT NULL DEFAULT 0; + UPDATE memberships SET last_message_for_unread_check = last_message; + `, + { multipleStatements: true }, + ), + migrationType: 'run_simultaneously_with_requests', + }, ]; const versions: $ReadOnlyArray<number> = migrations.map( migration => migration.version, diff --git a/keyserver/src/database/setup-db.js b/keyserver/src/database/setup-db.js --- a/keyserver/src/database/setup-db.js +++ b/keyserver/src/database/setup-db.js @@ -101,6 +101,7 @@ creation_time bigint(20) NOT NULL, subscription json NOT NULL, last_message bigint(20) NOT NULL DEFAULT 0, + last_message_for_unread_check bigint(20) NOT NULL DEFAULT 0, last_read_message bigint(20) NOT NULL DEFAULT 0, sender tinyint(1) UNSIGNED NOT NULL DEFAULT 0 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;