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', }, ];