Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import * as Knex from 'knex';
- const GoogleCredentialsTable = 'google_credentials';
- const VendorCredentialsTable = 'vendor_credentials';
- exports.up = (knex: Knex) =>
- knex.schema
- .table(GoogleCredentialsTable, table => {
- // ids between vendors could collide
- table.dropIndex(['user_id', 'google_user_id']);
- table.renameColumn('google_email', 'vendor_email');
- table.renameColumn('google_user_id', 'vendor_user_id');
- // enum
- table.enu('type', ['google', 'microsoft']).notNullable();
- })
- .then(() =>
- knex.schema.renameTable(GoogleCredentialsTable, VendorCredentialsTable),
- );
- exports.down = (knex: Knex) =>
- knex.schema
- .renameTable(VendorCredentialsTable, GoogleCredentialsTable)
- .then(() =>
- knex(GoogleCredentialsTable)
- .whereNot({ type: 'google' })
- .del(),
- )
- .then(() =>
- knex.schema.table(GoogleCredentialsTable, table => {
- table.renameColumn('vendor_email', 'google_email');
- table.renameColumn('vendor_user_id', 'google_user_id');
- table.unique(['google_user_id', 'user_id']);
- table.dropColumn('type');
- }),
- );
Add Comment
Please, Sign In to add comment