27 lines
884 B
TypeScript
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');
|
|
}
|