Abstracted fragments and curation. Using GraphQL for tags.

This commit is contained in:
2019-12-16 05:30:25 +01:00
parent f4c2e6c08c
commit 6950a76cb5
10 changed files with 260 additions and 159 deletions

View File

@@ -249,7 +249,7 @@ exports.up = knex => Promise.resolve()
.defaultTo(knex.fn.now());
}))
.then(() => knex.schema.createTable('actors_associated', (table) => {
table.increments('id', 16);
// table.increments('id', 16);
table.integer('release_id', 16)
.notNullable()
@@ -292,9 +292,11 @@ exports.up = knex => Promise.resolve()
.then(() => knex.raw(`
CREATE VIEW releases_media AS SELECT * FROM media WHERE domain = 'releases';
CREATE VIEW actors_media AS SELECT * FROM media WHERE domain = 'actors';
CREATE VIEW tags_media AS SELECT * FROM media WHERE domain = 'media';
CREATE VIEW tags_media AS SELECT * FROM media WHERE domain = 'tags';
CREATE VIEW releases_tags AS SELECT * FROM tags_associated WHERE domain = 'releases';
/* used for sorting release actors and tags */
CREATE VIEW releases_actors AS SELECT actors_associated.*,actors.gender,actors.birthdate FROM actors_associated LEFT JOIN actors ON actors_associated.actor_id = actors.id;
CREATE VIEW actors_social AS SELECT * FROM social WHERE domain = 'actors';
@@ -306,6 +308,9 @@ exports.up = knex => Promise.resolve()
COMMENT ON VIEW releases_tags IS E'@foreignKey (target_id) references releases (id)|@fieldName tagRelease\n@foreignKey (tag_id) references tags (id)|@fieldName releaseTag';
/* restore foreign keys in view, used for sorting release actors */
COMMENT ON VIEW releases_actors IS E'@foreignKey (release_id) references releases (id)|@fieldName actorRelease\n@foreignKey (actor_id) references actors (id)|@fieldName releaseActor';
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';
`));
@@ -317,6 +322,7 @@ exports.down = knex => Promise.resolve()
DROP VIEW tags_media;
DROP VIEW releases_tags;
DROP VIEW releases_actors;
DROP VIEW actors_social;
`))