Security: Sync from Public / sync-from-public (push) Has been cancelled
Test: Benchmark Nightly / build (push) Has been cancelled
Test: Benchmark Nightly / Notify Cats on failure (push) Has been cancelled
CI: Python / Checks (push) Has been cancelled
Test: Evals Python / Workflow Comparison Python (push) Has been cancelled
Util: Check Docs URLs / check-docs-urls (push) Has been cancelled
Test: Visual Storybook / Cloudflare Pages (push) Has been cancelled
Test: E2E Performance / build-and-test-performance (push) Has been cancelled
Test: Workflows Nightly / Run Workflow Tests (push) Has been cancelled
Util: Cleanup CI Docker Images / Delete stale CI images (push) Has been cancelled
Test: Benchmark Destroy Env / build (push) Has been cancelled
Util: Update Node Popularity / update-popularity (push) Has been cancelled
Test: E2E Coverage Weekly / Coverage Tests (push) Has been cancelled
38 lines
1.1 KiB
TypeScript
38 lines
1.1 KiB
TypeScript
import type { MigrationContext, ReversibleMigration } from '../migration-types';
|
|
|
|
const testEntityTableName = 'test_definition';
|
|
|
|
export class CreateTestDefinitionTable1730386903556 implements ReversibleMigration {
|
|
async up({ schemaBuilder: { createTable, column } }: MigrationContext) {
|
|
await createTable(testEntityTableName)
|
|
.withColumns(
|
|
column('id').int.notNull.primary.autoGenerate,
|
|
column('name').varchar(255).notNull,
|
|
column('workflowId').varchar(36).notNull,
|
|
column('evaluationWorkflowId').varchar(36),
|
|
column('annotationTagId').varchar(16),
|
|
)
|
|
.withIndexOn('workflowId')
|
|
.withIndexOn('evaluationWorkflowId')
|
|
.withForeignKey('workflowId', {
|
|
tableName: 'workflow_entity',
|
|
columnName: 'id',
|
|
onDelete: 'CASCADE',
|
|
})
|
|
.withForeignKey('evaluationWorkflowId', {
|
|
tableName: 'workflow_entity',
|
|
columnName: 'id',
|
|
onDelete: 'SET NULL',
|
|
})
|
|
.withForeignKey('annotationTagId', {
|
|
tableName: 'annotation_tag_entity',
|
|
columnName: 'id',
|
|
onDelete: 'SET NULL',
|
|
}).withTimestamps;
|
|
}
|
|
|
|
async down({ schemaBuilder: { dropTable } }: MigrationContext) {
|
|
await dropTable(testEntityTableName);
|
|
}
|
|
}
|