mirror of
https://github.com/complexcaresolutions/cms.c2sgmbh.git
synced 2026-03-17 20:54:11 +00:00
fix(blocks): add database migration for CardGridBlock icon fields
Adds missing columns (media_type, icon, icon_position) to pages_blocks_card_grid_block_cards table. Without this migration, pages API returns 500 on production. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
85c76a1eb4
commit
9bb041bd7c
2 changed files with 52 additions and 0 deletions
46
src/migrations/20260216_150000_add_card_grid_icon_fields.ts
Normal file
46
src/migrations/20260216_150000_add_card_grid_icon_fields.ts
Normal file
|
|
@ -0,0 +1,46 @@
|
||||||
|
import { MigrateUpArgs, MigrateDownArgs, sql } from '@payloadcms/db-postgres'
|
||||||
|
|
||||||
|
export async function up({ db }: MigrateUpArgs): Promise<void> {
|
||||||
|
// Add enum for mediaType
|
||||||
|
await db.execute(sql`
|
||||||
|
DO $$ BEGIN
|
||||||
|
CREATE TYPE "enum_pages_blocks_card_grid_block_cards_media_type" AS ENUM('none', 'image', 'icon');
|
||||||
|
EXCEPTION
|
||||||
|
WHEN duplicate_object THEN null;
|
||||||
|
END $$;
|
||||||
|
`)
|
||||||
|
|
||||||
|
// Add enum for iconPosition
|
||||||
|
await db.execute(sql`
|
||||||
|
DO $$ BEGIN
|
||||||
|
CREATE TYPE "enum_pages_blocks_card_grid_block_cards_icon_position" AS ENUM('top', 'left');
|
||||||
|
EXCEPTION
|
||||||
|
WHEN duplicate_object THEN null;
|
||||||
|
END $$;
|
||||||
|
`)
|
||||||
|
|
||||||
|
// Add columns to card-grid-block cards array table
|
||||||
|
await db.execute(sql`
|
||||||
|
ALTER TABLE "pages_blocks_card_grid_block_cards"
|
||||||
|
ADD COLUMN IF NOT EXISTS "media_type" "enum_pages_blocks_card_grid_block_cards_media_type" DEFAULT 'none',
|
||||||
|
ADD COLUMN IF NOT EXISTS "icon" varchar,
|
||||||
|
ADD COLUMN IF NOT EXISTS "icon_position" "enum_pages_blocks_card_grid_block_cards_icon_position" DEFAULT 'top';
|
||||||
|
`)
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function down({ db }: MigrateDownArgs): Promise<void> {
|
||||||
|
await db.execute(sql`
|
||||||
|
ALTER TABLE "pages_blocks_card_grid_block_cards"
|
||||||
|
DROP COLUMN IF EXISTS "media_type",
|
||||||
|
DROP COLUMN IF EXISTS "icon",
|
||||||
|
DROP COLUMN IF EXISTS "icon_position";
|
||||||
|
`)
|
||||||
|
|
||||||
|
await db.execute(sql`
|
||||||
|
DROP TYPE IF EXISTS "enum_pages_blocks_card_grid_block_cards_media_type";
|
||||||
|
`)
|
||||||
|
|
||||||
|
await db.execute(sql`
|
||||||
|
DROP TYPE IF EXISTS "enum_pages_blocks_card_grid_block_cards_icon_position";
|
||||||
|
`)
|
||||||
|
}
|
||||||
|
|
@ -36,6 +36,7 @@ import * as migration_20260114_200000_fix_community_role_enum from './20260114_2
|
||||||
import * as migration_20260116_100000_add_token_notification_fields from './20260116_100000_add_token_notification_fields';
|
import * as migration_20260116_100000_add_token_notification_fields from './20260116_100000_add_token_notification_fields';
|
||||||
import * as migration_20260116_120000_add_report_schedules from './20260116_120000_add_report_schedules';
|
import * as migration_20260116_120000_add_report_schedules from './20260116_120000_add_report_schedules';
|
||||||
import * as migration_20260215_120000_add_monitoring_collections from './20260215_120000_add_monitoring_collections';
|
import * as migration_20260215_120000_add_monitoring_collections from './20260215_120000_add_monitoring_collections';
|
||||||
|
import * as migration_20260216_150000_add_card_grid_icon_fields from './20260216_150000_add_card_grid_icon_fields';
|
||||||
|
|
||||||
export const migrations = [
|
export const migrations = [
|
||||||
{
|
{
|
||||||
|
|
@ -228,4 +229,9 @@ export const migrations = [
|
||||||
down: migration_20260215_120000_add_monitoring_collections.down,
|
down: migration_20260215_120000_add_monitoring_collections.down,
|
||||||
name: '20260215_120000_add_monitoring_collections'
|
name: '20260215_120000_add_monitoring_collections'
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
up: migration_20260216_150000_add_card_grid_icon_fields.up,
|
||||||
|
down: migration_20260216_150000_add_card_grid_icon_fields.down,
|
||||||
|
name: '20260216_150000_add_card_grid_icon_fields'
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue