Update trusted email migration file with backfill

This commit is contained in:
Tuan Dang
2024-05-07 07:59:37 -07:00
parent c9f0ba08e1
commit c5cd5047d7

View File

@@ -5,9 +5,16 @@ import { TableName } from "../schemas";
export async function up(knex: Knex): Promise<void> { export async function up(knex: Knex): Promise<void> {
const isUsersTablePresent = await knex.schema.hasTable(TableName.Users); const isUsersTablePresent = await knex.schema.hasTable(TableName.Users);
if (isUsersTablePresent) { if (isUsersTablePresent) {
await knex.schema.alterTable(TableName.Users, (t) => { const hasIsEmailVerifiedColumn = await knex.schema.hasColumn(TableName.Users, "isEmailVerified");
t.boolean("isEmailVerified");
}); if (!hasIsEmailVerifiedColumn) {
await knex.schema.alterTable(TableName.Users, (t) => {
t.boolean("isEmailVerified").defaultTo(false);
});
}
// Backfilling the isEmailVerified to true where isAccepted is true
await knex(TableName.Users).update({ isEmailVerified: true }).where("isAccepted", true);
} }
const isUserAliasTablePresent = await knex.schema.hasTable(TableName.UserAliases); const isUserAliasTablePresent = await knex.schema.hasTable(TableName.UserAliases);