Added virtual entity spawning for multi-page updates (i.e. Elegant Angel). Fixed ffmpeg error freezing process. Refactored Adult Empire/Elegant Angel scraper.

This commit is contained in:
DebaucheryLibrarian
2024-08-16 23:26:52 +02:00
parent 958c6d83fa
commit bca677b0a8
16 changed files with 287 additions and 249 deletions

View File

@@ -0,0 +1,65 @@
const config = require('config');
exports.up = async (knex) => {
await knex.schema.alterTable('entities', (table) => {
// internal options, as opposed to parameters for scraper options
table.json('options');
});
await knex.schema.alterTable('releases', (table) => {
table.dropForeign('entity_id');
table.foreign('entity_id')
.references('id')
.inTable('entities')
.onDelete('cascade');
});
await knex.schema.alterTable('releases_caps', (table) => {
table.unique(['release_id', 'media_id']);
});
await knex.schema.createTable('movies_tags', (table) => {
table.integer('tag_id')
.references('id')
.inTable('tags');
table.integer('movie_id')
.notNullable()
.references('id')
.inTable('movies')
.onDelete('cascade');
table.text('original_tag');
table.text('source')
.defaultTo('scraper');
table.unique(['tag_id', 'movie_id']);
});
await knex.raw('GRANT ALL ON ALL TABLES IN SCHEMA public TO :visitor;', {
visitor: knex.raw(config.database.query.user),
});
};
exports.down = async (knex) => {
await knex.schema.alterTable('entities', (table) => {
table.dropColumn('options');
});
await knex.schema.alterTable('releases', (table) => {
table.dropForeign('entity_id');
table.foreign('entity_id')
.references('id')
.inTable('entities')
.onDelete('no action');
});
await knex.schema.alterTable('releases_caps', (table) => {
table.dropUnique(['release_id', 'media_id']);
});
await knex.schema.dropTable('movies_tags');
};