forked from DebaucheryLibrarian/traxxx
Experimenting using GraphQL in favor of REST.
This commit is contained in:
@@ -200,7 +200,7 @@ exports.up = knex => Promise.resolve()
|
||||
table.integer('duration')
|
||||
.unsigned();
|
||||
|
||||
table.integer('parent', 16)
|
||||
table.integer('parent_id', 16)
|
||||
.references('id')
|
||||
.inTable('releases');
|
||||
|
||||
@@ -220,6 +220,8 @@ exports.up = knex => Promise.resolve()
|
||||
table.string('domain');
|
||||
table.integer('target_id', 16);
|
||||
|
||||
table.json('target');
|
||||
|
||||
table.string('role');
|
||||
table.string('quality', 6);
|
||||
|
||||
@@ -286,9 +288,29 @@ exports.up = knex => Promise.resolve()
|
||||
table.integer('target_id', 16);
|
||||
|
||||
table.unique(['domain', 'tag_id', 'target_id']);
|
||||
}));
|
||||
}))
|
||||
.then(() => knex.raw(`
|
||||
CREATE VIEW releases_media AS SELECT * FROM public.media WHERE domain = 'releases';
|
||||
CREATE VIEW actors_media AS SELECT * FROM public.media WHERE domain = 'actors';
|
||||
CREATE VIEW tags_media AS SELECT * FROM public.media WHERE domain = 'media';
|
||||
|
||||
CREATE VIEW releases_tags AS SELECT * FROM public.tags_associated WHERE domain = 'releases';
|
||||
|
||||
COMMENT ON VIEW releases_media IS E'@foreignKey (target_id) references releases (id)|@fieldName releaseId';
|
||||
COMMENT ON VIEW actors_media IS E'@foreignKey (target_id) references actors (id)|@fieldName actorId';
|
||||
COMMENT ON VIEW tags_media IS E'@foreignKey (target_id) references tags (id)|@fieldName tagMediaId';
|
||||
|
||||
COMMENT ON VIEW releases_tags IS E'@foreignKey (target_id) references releases (id)\n@foreignKey (tag_id) references tags (id)';
|
||||
`));
|
||||
|
||||
exports.down = knex => Promise.resolve()
|
||||
.then(() => knex.raw(`
|
||||
DROP VIEW releases_media;
|
||||
DROP VIEW actors_media;
|
||||
DROP VIEW tags_media;
|
||||
|
||||
DROP VIEW releases_tags;
|
||||
`))
|
||||
.then(() => knex.schema.dropTable('tags_associated'))
|
||||
.then(() => knex.schema.dropTable('directors_associated'))
|
||||
.then(() => knex.schema.dropTable('actors_associated'))
|
||||
|
||||
Reference in New Issue
Block a user