forked from DebaucheryLibrarian/traxxx
Fixed actor unique index preventing multiple actors with the same slug on a different network. Changed scene delete query to be able to handle more scene IDs.
This commit is contained in:
parent
58c01bdfcf
commit
5e2909c531
|
@ -999,7 +999,7 @@ exports.up = knex => Promise.resolve()
|
||||||
// allow vim fold
|
// allow vim fold
|
||||||
return knex.raw(`
|
return knex.raw(`
|
||||||
CREATE UNIQUE INDEX unique_actor_slugs_network ON actors (slug, entity_id, entry_id);
|
CREATE UNIQUE INDEX unique_actor_slugs_network ON actors (slug, entity_id, entry_id);
|
||||||
CREATE UNIQUE INDEX unique_actor_slugs ON actors (slug, (entity_id IS NULL));
|
CREATE UNIQUE INDEX unique_actor_slugs ON actors (slug) WHERE entity_id IS NULL;
|
||||||
|
|
||||||
CREATE UNIQUE INDEX releases_search_unique ON releases_search (release_id);
|
CREATE UNIQUE INDEX releases_search_unique ON releases_search (release_id);
|
||||||
CREATE INDEX releases_search_index ON releases_search USING GIN (document);
|
CREATE INDEX releases_search_index ON releases_search USING GIN (document);
|
||||||
|
|
|
@ -146,12 +146,13 @@ async function deleteScenes(sceneIds) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// there can be too many scene IDs for where in, causing a stack depth error
|
||||||
await knex('movies_scenes')
|
await knex('movies_scenes')
|
||||||
.whereIn('scene_id', sceneIds)
|
.whereRaw('scene_id = ANY(:sceneIds)', { sceneIds })
|
||||||
.delete();
|
.delete();
|
||||||
|
|
||||||
const deleteCount = await knex('releases')
|
const deleteCount = await knex('releases')
|
||||||
.whereIn('id', sceneIds)
|
.whereRaw('id = ANY(:sceneIds)', { sceneIds })
|
||||||
.delete();
|
.delete();
|
||||||
|
|
||||||
logger.info(`Removed ${deleteCount}/${sceneIds.length} scenes`);
|
logger.info(`Removed ${deleteCount}/${sceneIds.length} scenes`);
|
||||||
|
|
Loading…
Reference in New Issue