mirror of
https://github.com/n8n-io/n8n.git
synced 2025-01-11 21:07:28 -08:00
feat(core): Migration for soft deletions for executions (#7088)
Based on https://github.com/n8n-io/n8n/pull/7065 --------- Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
This commit is contained in:
parent
58e55ba669
commit
413e0bccb4
|
@ -49,6 +49,9 @@ export class ExecutionEntity {
|
|||
@Column({ type: datetimeColumnType, nullable: true })
|
||||
stoppedAt: Date;
|
||||
|
||||
@Column(datetimeColumnType)
|
||||
deletedAt: Date;
|
||||
|
||||
@Column({ nullable: true })
|
||||
workflowId: string;
|
||||
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
import type { MigrationContext, ReversibleMigration } from '@/databases/types';
|
||||
|
||||
/**
|
||||
* Add an indexed column `deletedAt` to track soft-deleted executions.
|
||||
* Add an index on `stoppedAt`, used by executions pruning.
|
||||
*/
|
||||
export class ExecutionSoftDelete1693491613982 implements ReversibleMigration {
|
||||
async up({ schemaBuilder: { addColumns, column, createIndex } }: MigrationContext) {
|
||||
await addColumns('execution_entity', [column('deletedAt').timestamp()]);
|
||||
await createIndex('execution_entity', ['deletedAt']);
|
||||
await createIndex('execution_entity', ['stoppedAt']);
|
||||
}
|
||||
|
||||
async down({ schemaBuilder: { dropColumns, dropIndex } }: MigrationContext) {
|
||||
await dropIndex('execution_entity', ['stoppedAt']);
|
||||
await dropIndex('execution_entity', ['deletedAt']);
|
||||
await dropColumns('execution_entity', ['deletedAt']);
|
||||
}
|
||||
}
|
|
@ -46,6 +46,7 @@ import { RemoveResetPasswordColumns1690000000030 } from '../common/1690000000030
|
|||
import { CreateWorkflowNameIndex1691088862123 } from '../common/1691088862123-CreateWorkflowNameIndex';
|
||||
import { AddMfaColumns1690000000030 } from './../common/1690000000040-AddMfaColumns';
|
||||
import { CreateWorkflowHistoryTable1692967111175 } from '../common/1692967111175-CreateWorkflowHistoryTable';
|
||||
import { ExecutionSoftDelete1693491613982 } from '../common/1693491613982-ExecutionSoftDelete';
|
||||
|
||||
export const mysqlMigrations: Migration[] = [
|
||||
InitialMigration1588157391238,
|
||||
|
@ -95,4 +96,5 @@ export const mysqlMigrations: Migration[] = [
|
|||
CreateWorkflowNameIndex1691088862123,
|
||||
AddMfaColumns1690000000030,
|
||||
CreateWorkflowHistoryTable1692967111175,
|
||||
ExecutionSoftDelete1693491613982,
|
||||
];
|
||||
|
|
|
@ -44,6 +44,7 @@ import { AddMissingPrimaryKeyOnExecutionData1690787606731 } from './169078760673
|
|||
import { CreateWorkflowNameIndex1691088862123 } from '../common/1691088862123-CreateWorkflowNameIndex';
|
||||
import { AddMfaColumns1690000000030 } from './../common/1690000000040-AddMfaColumns';
|
||||
import { CreateWorkflowHistoryTable1692967111175 } from '../common/1692967111175-CreateWorkflowHistoryTable';
|
||||
import { ExecutionSoftDelete1693491613982 } from '../common/1693491613982-ExecutionSoftDelete';
|
||||
|
||||
export const postgresMigrations: Migration[] = [
|
||||
InitialMigration1587669153312,
|
||||
|
@ -91,4 +92,5 @@ export const postgresMigrations: Migration[] = [
|
|||
CreateWorkflowNameIndex1691088862123,
|
||||
AddMfaColumns1690000000030,
|
||||
CreateWorkflowHistoryTable1692967111175,
|
||||
ExecutionSoftDelete1693491613982,
|
||||
];
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
import { ExecutionSoftDelete1693491613982 as BaseMigration } from '../common/1693491613982-ExecutionSoftDelete';
|
||||
|
||||
export class ExecutionSoftDelete1693491613982 extends BaseMigration {
|
||||
transaction = false as const;
|
||||
}
|
|
@ -43,6 +43,7 @@ import { RemoveResetPasswordColumns1690000000030 } from './1690000000030-RemoveR
|
|||
import { CreateWorkflowNameIndex1691088862123 } from '../common/1691088862123-CreateWorkflowNameIndex';
|
||||
import { AddMfaColumns1690000000030 } from './1690000000040-AddMfaColumns';
|
||||
import { CreateWorkflowHistoryTable1692967111175 } from '../common/1692967111175-CreateWorkflowHistoryTable';
|
||||
import { ExecutionSoftDelete1693491613982 } from './1693491613982-ExecutionSoftDelete';
|
||||
|
||||
const sqliteMigrations: Migration[] = [
|
||||
InitialMigration1588102412422,
|
||||
|
@ -89,6 +90,7 @@ const sqliteMigrations: Migration[] = [
|
|||
CreateWorkflowNameIndex1691088862123,
|
||||
AddMfaColumns1690000000030,
|
||||
CreateWorkflowHistoryTable1692967111175,
|
||||
ExecutionSoftDelete1693491613982,
|
||||
];
|
||||
|
||||
export { sqliteMigrations };
|
||||
|
|
Loading…
Reference in a new issue