deckhearth/migrations/1780378340194_system-collection-description.js

35 lines
1 KiB
JavaScript
Raw Normal View History

/**
* Backfill system collection descriptions to match VOCAB.SYSTEM_COLLECTION_SEED_DESCRIPTION
* in lib/collection-vocabulary.js (pick-a-name / collection-vocabulary convoy).
*
* @type {import('node-pg-migrate').ColumnDefinitions | undefined}
*/
export const shorthands = undefined;
/**
* @param pgm {import('node-pg-migrate').MigrationBuilder}
* @param run {() => void | undefined}
* @returns {Promise<void> | void}
*/
export const up = (pgm) => {
pgm.sql(`
ALTER TABLE collections
ADD COLUMN IF NOT EXISTS is_system_collection BOOLEAN DEFAULT false;
UPDATE collections
SET description = 'Automatically syncs with My Collection. This list cannot be deleted or made public.'
WHERE is_system_collection = true
`);
};
/**
* Irreversible prior description text is not preserved.
*
* @param pgm {import('node-pg-migrate').MigrationBuilder}
* @param run {() => void | undefined}
* @returns {Promise<void> | void}
*/
export const down = () => {
throw new Error('Irreversible data migration');
};