Files
automatisch/packages/backend/src/db/migrations/20220928162525_soft-delete-base-model.ts
2022-11-05 23:57:33 +01:00

32 lines
1.0 KiB
TypeScript

import { Knex } from 'knex';
async function addDeletedColumn(knex: Knex, tableName: string) {
return await knex.schema.table(tableName, (table) => {
table.timestamp('deleted_at').nullable();
});
}
async function dropDeletedColumn(knex: Knex, tableName: string) {
return await knex.schema.table(tableName, (table) => {
table.dropColumn('deleted_at');
});
}
export async function up(knex: Knex): Promise<void> {
await addDeletedColumn(knex, 'steps');
await addDeletedColumn(knex, 'flows');
await addDeletedColumn(knex, 'executions');
await addDeletedColumn(knex, 'execution_steps');
await addDeletedColumn(knex, 'users');
await addDeletedColumn(knex, 'connections');
}
export async function down(knex: Knex): Promise<void> {
await dropDeletedColumn(knex, 'steps');
await dropDeletedColumn(knex, 'flows');
await dropDeletedColumn(knex, 'executions');
await dropDeletedColumn(knex, 'execution_steps');
await dropDeletedColumn(knex, 'users');
await dropDeletedColumn(knex, 'connections');
}