CREATE TABLE IF NOT EXISTS player_profile ( id SERIAL PRIMARY KEY, level INTEGER NOT NULL DEFAULT 1, xp INTEGER NOT NULL DEFAULT 0, xp_to_next INTEGER NOT NULL DEFAULT 100 ); INSERT INTO player_profile (level, xp, xp_to_next) VALUES (1, 0, 100) ON CONFLICT DO NOTHING; CREATE TABLE IF NOT EXISTS xp_events ( id SERIAL PRIMARY KEY, event_type VARCHAR(50) NOT NULL, xp_earned INTEGER NOT NULL, description TEXT, created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW() ); INSERT INTO schema_migrations (version) VALUES (5) ON CONFLICT DO NOTHING;