diff --git a/migrations/20260304020542_scene_actor_tags.js b/migrations/20260304020542_scene_actor_tags.js new file mode 100644 index 00000000..8a853310 --- /dev/null +++ b/migrations/20260304020542_scene_actor_tags.js @@ -0,0 +1,21 @@ +exports.up = async function(knex) { + await knex.schema.alterTable('releases_tags', (table) => { + table.integer('actor_id') + .references('id') + .inTable('actors'); + + table.dropUnique(['tag_id', 'release_id']); + }); + + await knex.raw('CREATE UNIQUE INDEX releases_tags_tag_id_release_id_actor_id ON releases_tags (tag_id, release_id, COALESCE(actor_id, -1))'); +}; + +exports.down = async function(knex) { + await knex.schema.alterTable('releases_tags', (table) => { + table.dropColumn('actor_id'); + + table.unique(['tag_id', 'release_id']); + }); + + await knex.raw('DROP INDEX IF EXISTS releases_tags_tag_id_release_id_actor_id'); +};