mirror of
https://github.com/jcreek/LivingDexTracker.git
synced 2026-07-12 18:43:45 +00:00
41 lines
1.3 KiB
SQL
41 lines
1.3 KiB
SQL
-- Create games table to store game metadata
|
|
CREATE TABLE IF NOT EXISTS games (
|
|
id TEXT PRIMARY KEY,
|
|
"displayName" TEXT NOT NULL,
|
|
region TEXT NOT NULL,
|
|
generation INTEGER NOT NULL,
|
|
"releaseYear" INTEGER NOT NULL,
|
|
"createdAt" TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
|
|
"updatedAt" TIMESTAMP WITH TIME ZONE DEFAULT NOW()
|
|
);
|
|
|
|
-- Enable RLS
|
|
ALTER TABLE games ENABLE ROW LEVEL SECURITY;
|
|
|
|
-- Allow anyone to read games (public reference data)
|
|
CREATE POLICY "Games are publicly readable"
|
|
ON games
|
|
FOR SELECT
|
|
TO public
|
|
USING (true);
|
|
|
|
-- Insert games data from games.csv
|
|
INSERT INTO games (id, "displayName", region, generation, "releaseYear") VALUES
|
|
('red', 'Red', 'Kanto', 1, 1996),
|
|
('blue', 'Blue', 'Kanto', 1, 1996),
|
|
('yellow', 'Yellow', 'Kanto', 1, 1998),
|
|
('lg--pikachu', 'LG: Pikachu', 'Kanto', 7, 2018),
|
|
('lg--eevee', 'LG: Eevee', 'Kanto', 7, 2018),
|
|
('gold', 'Gold', 'Johto', 2, 1999),
|
|
('silver', 'Silver', 'Johto', 2, 1999),
|
|
('crystal', 'Crystal', 'Johto', 2, 2000),
|
|
('heartgold', 'HeartGold', 'Johto', 4, 2009),
|
|
('soulsilver', 'SoulSilver', 'Johto', 4, 2009),
|
|
('legends-arceus', 'Legends: Arceus', 'Hisui', 8, 2022)
|
|
ON CONFLICT (id) DO UPDATE SET
|
|
"displayName" = EXCLUDED."displayName",
|
|
region = EXCLUDED.region,
|
|
generation = EXCLUDED.generation,
|
|
"releaseYear" = EXCLUDED."releaseYear",
|
|
"updatedAt" = NOW();
|