Files

21 lines
686 B
JavaScript
Raw Permalink Normal View History

2026-04-11 09:24:21 +02:00
// Allows an asset to declare that it is a processed derivative of another asset.
// Example lineage: raw .mov → chroma-keyed .mp4 (parent_id → raw asset)
// A raw asset has parent_id = NULL.
// Multiple processed versions can share the same parent_id.
exports.up = (pgm) => {
pgm.addColumn('shared_assets', {
parent_id: {
type: 'integer',
references: 'shared_assets',
onDelete: 'SET NULL',
},
});
pgm.createIndex('shared_assets', 'parent_id', { name: 'idx_shared_assets_parent' });
};
exports.down = (pgm) => {
pgm.dropIndex('shared_assets', 'parent_id', { name: 'idx_shared_assets_parent' });
pgm.dropColumn('shared_assets', 'parent_id');
};