web-service/apps/catalog/src/database/migrations/20230722091907_content-asse...

27 lines
884 B
TypeScript

import { Knex } from 'knex';
export async function up(knex: Knex): Promise<void> {
return knex.schema.createTable('content_asset', (table) => {
table.increments('id').primary();
table.integer('content_id').unsigned().notNullable();
table.integer('revision_id').unsigned().notNullable();
table.uuid('asset_id').notNullable().index();
table.string('type').notNullable().index();
table.string('type_name').nullable();
table.enum('source', ['user', 'generated']).notNullable().defaultTo('user');
table.integer('index').notNullable().defaultTo(0);
table.foreign('content_id').references('content.id').onDelete('CASCADE');
table
.foreign('revision_id')
.references('content_revision.id')
.onDelete('CASCADE');
});
}
export async function down(knex: Knex): Promise<void> {
return knex.schema.dropTable('content_asset');
}