mirror of
https://github.com/rgrgogu/new_starr.git
synced 2026-09-27 00:12:54 +08:00
chore: relocate backend into apps/api ahead of monorepo merge
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+58
@@ -0,0 +1,58 @@
|
||||
'use strict';
|
||||
|
||||
// badge_label was a single STRING(100). The Type step redesign lets admins
|
||||
// attach up to 2 badges (outline chips) to a "Text with Image" ad, so the
|
||||
// column becomes a JSONB string array (renamed badge_labels to match the
|
||||
// plural shape, mirroring the existing `ctas` JSONB column). Any existing
|
||||
// scalar value is wrapped into a single-element array; null/empty becomes [].
|
||||
module.exports = {
|
||||
async up(queryInterface) {
|
||||
await queryInterface.sequelize.query(`
|
||||
ALTER TABLE advertisements
|
||||
ALTER COLUMN badge_label TYPE JSONB
|
||||
USING (
|
||||
CASE
|
||||
WHEN badge_label IS NULL OR badge_label = '' THEN '[]'::jsonb
|
||||
ELSE jsonb_build_array(badge_label)
|
||||
END
|
||||
)
|
||||
`);
|
||||
|
||||
await queryInterface.sequelize.query(`
|
||||
ALTER TABLE advertisements
|
||||
ALTER COLUMN badge_label SET DEFAULT '[]'::jsonb
|
||||
`);
|
||||
|
||||
await queryInterface.sequelize.query(`
|
||||
ALTER TABLE advertisements
|
||||
ALTER COLUMN badge_label SET NOT NULL
|
||||
`);
|
||||
|
||||
await queryInterface.renameColumn('advertisements', 'badge_label', 'badge_labels');
|
||||
},
|
||||
|
||||
async down(queryInterface) {
|
||||
await queryInterface.renameColumn('advertisements', 'badge_labels', 'badge_label');
|
||||
|
||||
await queryInterface.sequelize.query(`
|
||||
ALTER TABLE advertisements
|
||||
ALTER COLUMN badge_label DROP NOT NULL
|
||||
`);
|
||||
|
||||
await queryInterface.sequelize.query(`
|
||||
ALTER TABLE advertisements
|
||||
ALTER COLUMN badge_label TYPE STRING(100)
|
||||
USING (
|
||||
CASE
|
||||
WHEN jsonb_array_length(badge_label) = 0 THEN NULL
|
||||
ELSE badge_label->>0
|
||||
END
|
||||
)
|
||||
`);
|
||||
|
||||
await queryInterface.sequelize.query(`
|
||||
ALTER TABLE advertisements
|
||||
ALTER COLUMN badge_label DROP DEFAULT
|
||||
`);
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user