From 29273131def113d575227b468e2a47a8148ca873 Mon Sep 17 00:00:00 2001 From: Z8MB1E Date: Thu, 3 Sep 2026 16:03:00 -0400 Subject: [PATCH] chore(payload): add radio traffic mode migrations Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus --- .../20260903_060000_add_radio_mode_stats.ts | 24 +++++++++++++++++++ ...60903_061000_add_radio_incorrect_counts.ts | 19 +++++++++++++++ src/migrations/index.ts | 14 ++++++++++- 3 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 src/migrations/20260903_060000_add_radio_mode_stats.ts create mode 100644 src/migrations/20260903_061000_add_radio_incorrect_counts.ts diff --git a/src/migrations/20260903_060000_add_radio_mode_stats.ts b/src/migrations/20260903_060000_add_radio_mode_stats.ts new file mode 100644 index 0000000..d71125f --- /dev/null +++ b/src/migrations/20260903_060000_add_radio_mode_stats.ts @@ -0,0 +1,24 @@ +import { MigrateDownArgs, MigrateUpArgs, sql } from '@payloadcms/db-postgres' + +const columns = [ + 'progression_minigames_radio_traffic_sprint_games_played', + 'progression_minigames_radio_traffic_sprint_total_messages', + 'progression_minigames_radio_traffic_sprint_best_score', + 'progression_minigames_radio_traffic_sprint_best_accuracy', + 'progression_minigames_radio_traffic_watch_games_played', + 'progression_minigames_radio_traffic_watch_total_messages', + 'progression_minigames_radio_traffic_watch_best_score', + 'progression_minigames_radio_traffic_watch_best_accuracy', +] as const + +export async function up({ db }: MigrateUpArgs): Promise { + for (const column of columns) { + await db.execute(sql.raw(`ALTER TABLE "profiles" ADD COLUMN "${column}" numeric DEFAULT 0;`)) + } +} + +export async function down({ db }: MigrateDownArgs): Promise { + for (const column of [...columns].reverse()) { + await db.execute(sql.raw(`ALTER TABLE "profiles" DROP COLUMN "${column}";`)) + } +} diff --git a/src/migrations/20260903_061000_add_radio_incorrect_counts.ts b/src/migrations/20260903_061000_add_radio_incorrect_counts.ts new file mode 100644 index 0000000..517f598 --- /dev/null +++ b/src/migrations/20260903_061000_add_radio_incorrect_counts.ts @@ -0,0 +1,19 @@ +import { MigrateDownArgs, MigrateUpArgs, sql } from '@payloadcms/db-postgres' + +const columns = [ + 'progression_minigames_radio_traffic_incorrect_messages', + 'progression_minigames_radio_traffic_sprint_incorrect_messages', + 'progression_minigames_radio_traffic_watch_incorrect_messages', +] as const + +export async function up({ db }: MigrateUpArgs): Promise { + for (const column of columns) { + await db.execute(sql.raw(`ALTER TABLE "profiles" ADD COLUMN "${column}" numeric DEFAULT 0;`)) + } +} + +export async function down({ db }: MigrateDownArgs): Promise { + for (const column of [...columns].reverse()) { + await db.execute(sql.raw(`ALTER TABLE "profiles" DROP COLUMN "${column}";`)) + } +} diff --git a/src/migrations/index.ts b/src/migrations/index.ts index 792f86e..aa08177 100644 --- a/src/migrations/index.ts +++ b/src/migrations/index.ts @@ -18,6 +18,8 @@ import * as migration_20260902_195336_add_medal_backgrounds from './20260902_195 import * as migration_20260903_035544 from './20260903_035544'; import * as migration_20260903_044047 from './20260903_044047'; import * as migration_20260903_053419 from './20260903_053419'; +import * as migration_20260903_060000_add_radio_mode_stats from './20260903_060000_add_radio_mode_stats'; +import * as migration_20260903_061000_add_radio_incorrect_counts from './20260903_061000_add_radio_incorrect_counts'; export const migrations = [ { @@ -118,6 +120,16 @@ export const migrations = [ { up: migration_20260903_053419.up, down: migration_20260903_053419.down, - name: '20260903_053419' + name: '20260903_053419', + }, + { + up: migration_20260903_060000_add_radio_mode_stats.up, + down: migration_20260903_060000_add_radio_mode_stats.down, + name: '20260903_060000_add_radio_mode_stats', + }, + { + up: migration_20260903_061000_add_radio_incorrect_counts.up, + down: migration_20260903_061000_add_radio_incorrect_counts.down, + name: '20260903_061000_add_radio_incorrect_counts', }, ];