Refactoring client to reflect database changes.
This commit is contained in:
@@ -378,6 +378,19 @@ exports.up = knex => Promise.resolve()
|
||||
|
||||
table.unique('release_id');
|
||||
}))
|
||||
.then(() => knex.schema.createTable('releases_trailers', (table) => {
|
||||
table.integer('release_id', 16)
|
||||
.notNullable()
|
||||
.references('id')
|
||||
.inTable('releases');
|
||||
|
||||
table.integer('media_id', 16)
|
||||
.notNullable()
|
||||
.references('id')
|
||||
.inTable('media');
|
||||
|
||||
table.unique('release_id');
|
||||
}))
|
||||
.then(() => knex.schema.createTable('releases_photos', (table) => {
|
||||
table.integer('release_id', 16)
|
||||
.notNullable()
|
||||
@@ -405,27 +418,34 @@ exports.up = knex => Promise.resolve()
|
||||
table.unique(['tag_id', 'release_id']);
|
||||
}))
|
||||
.then(() => knex.raw(`
|
||||
CREATE VIEW releases_actors_sortable AS
|
||||
SELECT releases_actors.*, actors.gender, actors.name, actors.birthdate FROM releases_actors
|
||||
JOIN actors ON releases_actors.actor_id = actors.id;
|
||||
|
||||
COMMENT ON VIEW releases_actors_sortable IS E'@foreignKey (release_id) references releases (id)\n@foreignKey (actor_id) references actors (id)';
|
||||
|
||||
/* allow conversion resolver to be added for height and weight */
|
||||
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';
|
||||
|
||||
/*
|
||||
create function releases_by_tag_slugs(slugs text[]) returns setof releases as $$
|
||||
select distinct on (releases.id) releases.* from releases
|
||||
join releases_tags on (releases_tags.release_id = releases.id)
|
||||
join tags on (releases_tags.tag_id = tags.id)
|
||||
where tags.slug = ANY($1);
|
||||
$$ language sql stable
|
||||
*/
|
||||
CREATE FUNCTION releases_by_tag_slugs(slugs text[]) RETURNS setof releases AS $$
|
||||
SELECT DISTINCT ON (releases.id) releases.* FROM releases
|
||||
JOIN releases_tags ON (releases_tags.release_id = releases.id)
|
||||
JOIN tags ON (releases_tags.tag_id = tags.id)
|
||||
WHERE tags.slug = ANY($1);
|
||||
$$ LANGUAGE sql STABLE
|
||||
`));
|
||||
|
||||
exports.down = knex => knex.raw(`
|
||||
DROP FUNCTION IF EXISTS releases_by_tag_slugs;
|
||||
|
||||
DROP VIEW IF EXISTS releases_actors_view;
|
||||
|
||||
DROP TABLE IF EXISTS releases_actors CASCADE;
|
||||
DROP TABLE IF EXISTS releases_directors CASCADE;
|
||||
DROP TABLE IF EXISTS releases_posters CASCADE;
|
||||
DROP TABLE IF EXISTS releases_photos CASCADE;
|
||||
DROP TABLE IF EXISTS releases_trailers CASCADE;
|
||||
DROP TABLE IF EXISTS releases_tags CASCADE;
|
||||
DROP TABLE IF EXISTS actors_avatars CASCADE;
|
||||
DROP TABLE IF EXISTS actors_photos CASCADE;
|
||||
|
||||
Reference in New Issue
Block a user