19 lines
904 B
JavaScript
19 lines
904 B
JavaScript
|
exports.up = async (knex) => knex.raw(`
|
||
|
/* CREATE FUNCTION releases_is_showcased(release releases) RETURNS BOOLEAN AS $$
|
||
|
SELECT COALESCE(entities.showcased, false) OR COALESCE(studios.showcased, false) FROM releases
|
||
|
LEFT JOIN entities ON entities.id = releases.entity_id
|
||
|
LEFT JOIN entities AS studios ON studios.id = releases.studio_id
|
||
|
WHERE releases.id = release.id
|
||
|
$$ LANGUAGE SQL STABLE; */
|
||
|
|
||
|
CREATE FUNCTION releases_is_showcased(release releases) RETURNS BOOLEAN AS $$
|
||
|
SELECT COALESCE((SELECT showcased FROM entities WHERE entities.id = releases.entity_id), false)
|
||
|
OR COALESCE((SELECT showcased FROM entities WHERE entities.id = releases.studio_id), false) FROM releases
|
||
|
WHERE releases.id = release.id
|
||
|
$$ LANGUAGE SQL STABLE;
|
||
|
`);
|
||
|
|
||
|
exports.down = async (knex) => knex.raw(`
|
||
|
DROP FUNCTION IF EXISTS releases_is_showcased;
|
||
|
`);
|