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,11 +5,18 @@ 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) {
const hasIsEmailVerifiedColumn = await knex.schema.hasColumn(TableName.Users, "isEmailVerified");
if (!hasIsEmailVerifiedColumn) {
await knex.schema.alterTable(TableName.Users, (t) => { await knex.schema.alterTable(TableName.Users, (t) => {
t.boolean("isEmailVerified"); 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);
if (isUserAliasTablePresent) { if (isUserAliasTablePresent) {
await knex.schema.alterTable(TableName.UserAliases, (t) => { await knex.schema.alterTable(TableName.UserAliases, (t) => {