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_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_20260216_150000_add_card_grid_icon_fields from './20260216_150000_add_card_grid_icon_fields';
|
||||
|
||||
export const migrations = [
|
||||
{
|
||||
|
|
@ -228,4 +229,9 @@ export const migrations = [
|
|||
down: migration_20260215_120000_add_monitoring_collections.down,
|
||||
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