diff --git a/src/migrations/20260302_180000_add_social_platforms_missing_columns.ts b/src/migrations/20260302_180000_add_social_platforms_missing_columns.ts new file mode 100644 index 0000000..1fb671a --- /dev/null +++ b/src/migrations/20260302_180000_add_social_platforms_missing_columns.ts @@ -0,0 +1,28 @@ +import { MigrateUpArgs, MigrateDownArgs, sql } from '@payloadcms/db-postgres' + +/** + * Add missing columns to social_platforms table. + * + * The SocialPlatforms collection config has apiConfig.oauthEndpoint and + * apiConfig.tokenValidityDays fields that were added after the initial + * community phase1 migration but never migrated to the DB. + * + * Without these columns, any query that resolves social_platforms relationships + * (e.g. creating community-interactions) fails with: + * "column social_platforms.api_config_oauth_endpoint does not exist" + */ +export async function up({ db }: MigrateUpArgs): Promise { + await db.execute(sql` + ALTER TABLE "social_platforms" + ADD COLUMN IF NOT EXISTS "api_config_oauth_endpoint" varchar, + ADD COLUMN IF NOT EXISTS "api_config_token_validity_days" numeric DEFAULT 60; + `) +} + +export async function down({ db }: MigrateDownArgs): Promise { + await db.execute(sql` + ALTER TABLE "social_platforms" + DROP COLUMN IF EXISTS "api_config_oauth_endpoint", + DROP COLUMN IF EXISTS "api_config_token_validity_days"; + `) +} diff --git a/src/migrations/index.ts b/src/migrations/index.ts index e0ec4fc..94000d7 100644 --- a/src/migrations/index.ts +++ b/src/migrations/index.ts @@ -39,6 +39,7 @@ import * as migration_20260215_120000_add_monitoring_collections from './2026021 import * as migration_20260216_150000_add_card_grid_icon_fields from './20260216_150000_add_card_grid_icon_fields'; import * as migration_20260217_120000_add_tenant_to_forms from './20260217_120000_add_tenant_to_forms'; import * as migration_20260228_150000_add_html_embed_block from './20260228_150000_add_html_embed_block'; +import * as migration_20260302_180000_add_social_platforms_missing_columns from './20260302_180000_add_social_platforms_missing_columns'; export const migrations = [ { @@ -246,4 +247,9 @@ export const migrations = [ down: migration_20260228_150000_add_html_embed_block.down, name: '20260228_150000_add_html_embed_block' }, + { + up: migration_20260302_180000_add_social_platforms_missing_columns.up, + down: migration_20260302_180000_add_social_platforms_missing_columns.down, + name: '20260302_180000_add_social_platforms_missing_columns' + }, ];