Added rudimentary movie relations.
This commit is contained in:
@@ -362,10 +362,6 @@ exports.up = knex => Promise.resolve()
|
||||
table.integer('duration')
|
||||
.unsigned();
|
||||
|
||||
table.integer('parent_id', 16)
|
||||
.references('id')
|
||||
.inTable('releases');
|
||||
|
||||
table.boolean('deep');
|
||||
table.string('deep_url', 1000);
|
||||
|
||||
@@ -392,6 +388,25 @@ exports.up = knex => Promise.resolve()
|
||||
.inTable('actors');
|
||||
|
||||
table.unique(['release_id', 'actor_id']);
|
||||
|
||||
table.datetime('created_at')
|
||||
.defaultTo(knex.fn.now());
|
||||
}))
|
||||
.then(() => knex.schema.createTable('releases_movies', (table) => {
|
||||
table.integer('movie_id', 16)
|
||||
.notNullable()
|
||||
.references('id')
|
||||
.inTable('releases');
|
||||
|
||||
table.integer('scene_id', 16)
|
||||
.notNullable()
|
||||
.references('id')
|
||||
.inTable('releases');
|
||||
|
||||
table.unique(['movie_id', 'scene_id']);
|
||||
|
||||
table.datetime('created_at')
|
||||
.defaultTo(knex.fn.now());
|
||||
}))
|
||||
.then(() => knex.schema.createTable('releases_directors', (table) => {
|
||||
table.integer('release_id', 16)
|
||||
@@ -526,6 +541,14 @@ exports.up = knex => Promise.resolve()
|
||||
SELECT NOT EXISTS(SELECT true FROM batches WHERE batches.id = release.created_batch_id + 1 LIMIT 1);
|
||||
$$ LANGUAGE sql STABLE;
|
||||
|
||||
CREATE VIEW movie_actors AS
|
||||
SELECT releases_movies.movie_id, releases_actors.actor_id FROM releases_movies
|
||||
LEFT JOIN releases ON releases.id = releases_movies.scene_id
|
||||
LEFT JOIN releases_actors ON releases_actors.release_id = releases.id
|
||||
GROUP BY movie_id, actor_id;
|
||||
|
||||
COMMENT ON VIEW movie_actors IS E'@foreignKey (movie_id) references releases (id)\n@foreignKey (actor_id) references actors (id)';
|
||||
|
||||
COMMENT ON COLUMN actors.height IS E'@omit read,update,create,delete,all,many';
|
||||
COMMENT ON COLUMN actors.weight IS E'@omit read,update,create,delete,all,many';
|
||||
`));
|
||||
@@ -534,9 +557,10 @@ exports.down = knex => knex.raw(`
|
||||
DROP FUNCTION IF EXISTS releases_by_tag_slugs;
|
||||
DROP FUNCTION IF EXISTS search_sites;
|
||||
|
||||
DROP VIEW IF EXISTS releases_actors_view;
|
||||
DROP VIEW IF EXISTS movie_actors;
|
||||
|
||||
DROP TABLE IF EXISTS releases_actors CASCADE;
|
||||
DROP TABLE IF EXISTS releases_movies CASCADE;
|
||||
DROP TABLE IF EXISTS releases_directors CASCADE;
|
||||
DROP TABLE IF EXISTS releases_posters CASCADE;
|
||||
DROP TABLE IF EXISTS releases_photos CASCADE;
|
||||
|
||||
Reference in New Issue
Block a user