All checks were successful
Test and deploy staging / staging (push) Successful in 18s
Fold catchemall into /projects/game-tracker (old URL redirects) and add Call of Duty tracking for Black Ops through WWII. - Pokémon catalog is now owned: locations, encounters and per-game evolution methods are built from the pinned PokéAPI snapshot and seeded. - Pokémon you can evolve or breed in a game count as obtainable; mythicals without another route are marked event-only. - Detail dialog with evolution chain and where to find it, location pages with admin notes and pictures, and admin corrections that survive reseeds. - Call of Duty weapons, milestones and Steam achievements per game, with derived Diamond / Dark Matter / Solar / Black Sky / Chrome tiers. - New migration (db:migrate:game-tracker), seeds (db:seed, db:seed:cod) and deploy preflight checks for them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
16 lines
438 B
TypeScript
16 lines
438 B
TypeScript
import { readFile } from 'node:fs/promises';
|
|
import postgres from 'postgres';
|
|
|
|
if (!process.env.DB_URL) throw new Error('DB_URL is required');
|
|
const client = postgres(process.env.DB_URL, { max: 1 });
|
|
try {
|
|
await client.begin(async (tx) => {
|
|
await tx.unsafe(
|
|
await readFile(new URL('./game-tracker-migration.sql', import.meta.url), 'utf8')
|
|
);
|
|
});
|
|
console.log('Game tracker migration applied');
|
|
} finally {
|
|
await client.end();
|
|
}
|