web-service/apps/catalog/src/database/migrations/20230723120127_content-rela...

38 lines
1.0 KiB
TypeScript

import { Knex } from 'knex';
export async function up(knex: Knex): Promise<void> {
return knex.schema.createTable('content_relation', (table) => {
table.increments('id').primary();
table.integer('first_content_id').unsigned().notNullable();
table.integer('second_content_id').unsigned().notNullable();
table
.enum('relation', [
'support',
'depend',
'variant',
'alternative',
'visual',
'related',
'comment',
'part',
])
.notNullable();
table.string('relation_name', 255).nullable();
table
.foreign('first_content_id')
.references('content.id')
.onDelete('CASCADE');
table
.foreign('second_content_id')
.references('content.id')
.onDelete('CASCADE');
table.uuid('created_by').nullable();
table.uuid('updated_by').nullable();
table.timestamps(true, true);
});
}
export async function down(knex: Knex): Promise<void> {
return knex.schema.dropTable('content_relation');
}