From 6860072a51f80f14db43e7d45f1ba043b8640373 Mon Sep 17 00:00:00 2001 From: DebaucheryLibrarian Date: Wed, 4 Mar 2026 02:53:17 +0100 Subject: [PATCH] Added database support for actor-specific scene tags. --- migrations/20260304020542_scene_actor_tags.js | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 migrations/20260304020542_scene_actor_tags.js 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'); +};