1
0
Fork 0

chore(payload): add radio traffic mode migrations

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
Jason Fraley 2026-09-03 16:03:00 -04:00
parent fe45958a80
commit 29273131de
3 changed files with 56 additions and 1 deletions

View file

@ -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<void> {
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<void> {
for (const column of [...columns].reverse()) {
await db.execute(sql.raw(`ALTER TABLE "profiles" DROP COLUMN "${column}";`))
}
}

View file

@ -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<void> {
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<void> {
for (const column of [...columns].reverse()) {
await db.execute(sql.raw(`ALTER TABLE "profiles" DROP COLUMN "${column}";`))
}
}

View file

@ -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_035544 from './20260903_035544';
import * as migration_20260903_044047 from './20260903_044047'; import * as migration_20260903_044047 from './20260903_044047';
import * as migration_20260903_053419 from './20260903_053419'; 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 = [ export const migrations = [
{ {
@ -118,6 +120,16 @@ export const migrations = [
{ {
up: migration_20260903_053419.up, up: migration_20260903_053419.up,
down: migration_20260903_053419.down, 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',
}, },
]; ];