Shuffle/supabase/catalog/vocabulary.sql
cschlaefke 9dbafbcad7 feat(catalog): add starting-stock tool, vocabulary proposal and CI checks
Deno script validates vocabulary.csv and startbestand.csv and generates the idempotent SQL, key list and checks.sql. startbestand.csv stays header-only; vocabulary.csv is a proposal pending approval (C0). seed.sql no longer inserts genres and mechanics.

Refs #2

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 15:38:28 +01:00

54 lines
3.8 KiB
SQL

-- Erzeugt von supabase/catalog/build_startbestand.ts. Nicht von Hand bearbeiten.
-- Vokabular (Genres, Mechaniken). Idempotent. Ein im Studio angelegter Begriff mit gleichem Namen
-- gewinnt (on conflict do nothing fängt ID- und Namenskonflikte); startbestand.sql löst über name_de auf.
insert into public.genres (id, name_de, name_en) values
('91c2b7c9-5a7c-5001-b90f-af05c0a8bc76', 'Strategiespiel', 'Strategy game'),
('ecd63153-af09-5423-8579-483c4f1dc87c', 'Familienspiel', 'Family game'),
('39c44fac-9323-5695-a02a-019620057a50', 'Partyspiel', 'Party game'),
('7f50e253-41bb-5cde-ad0a-dc48e9c9295f', 'Kooperatives Spiel', 'Cooperative game'),
('503248a5-6424-5e06-aa9a-ec1d43fb0e28', 'Kartenspiel', 'Card game'),
('963e400e-b6c9-5719-b6f0-2440d93fff7d', 'Abstraktes Spiel', 'Abstract game'),
('aefb13d7-2a29-5901-bb8a-aa3f897a8e20', 'Thematisches Spiel', 'Thematic game'),
('f7418ea2-db50-5e8c-a737-cab1ee15b34b', 'Wirtschaftsspiel', 'Economic game'),
('1b7da3a2-ace2-503f-b632-f697d651e1d0', 'Kriegsspiel', 'Wargame'),
('0114584b-4a22-5986-8896-8ee491aad1c7', 'Kinderspiel', 'Children''s game'),
('71b582a5-c53d-5370-920f-cadc03725324', 'Wortspiel', 'Word game'),
('693bbe28-03e5-554a-9548-ab54f186bffe', 'Deduktionsspiel', 'Deduction game'),
('72baa1f7-835e-56d7-8341-c1c524148dd4', 'Geschicklichkeitsspiel', 'Dexterity game'),
('d8a5a92f-05b5-5dff-b321-baaecb5803bf', 'Quizspiel', 'Trivia game')
on conflict do nothing;
insert into public.mechanics (id, name_de, name_en) values
('00f902bc-e66b-5976-b235-7cd462ee23b6', 'Arbeitereinsatz', 'Worker placement'),
('c7fde702-f7c3-5b81-b2b5-736253974a75', 'Deckbau', 'Deck building'),
('afb217d3-38bb-5989-8383-07fa200ded35', 'Handkartenmanagement', 'Hand management'),
('2ca2b8c5-9604-5186-a037-7386cd3f299b', 'Würfeln', 'Dice rolling'),
('2d35402f-c714-5cf7-a2e6-b035023ad51a', 'Plättchenlegen', 'Tile placement'),
('83b32eef-078a-5822-91e9-d48157476056', 'Sets sammeln', 'Set collection'),
('c4cd186c-401b-5cc2-81cb-fcfd544c8a4d', 'Drafting', 'Drafting'),
('7d327434-bf71-5be2-a659-429c81c54cb5', 'Gebietsmehrheit', 'Area control'),
('77565f86-d2e0-51c6-908a-dd1d05a08d26', 'Bieten und Versteigern', 'Auction and bidding'),
('96dd12a0-f303-50d4-9baf-f56d9d8aa489', 'Handel', 'Trading'),
('84019ba4-fc52-5343-97ad-2ea5c4f6ee6e', 'Verhandlung', 'Negotiation'),
('6e49822b-dc6b-553f-b9e8-c5685d1e953b', 'Streckenbau', 'Route building'),
('42521d16-2532-5583-8e41-ade8e0a15679', 'Engine Building', 'Engine building'),
('2d4aac3a-728d-54a2-a2cb-569410a56523', 'Abholen und Liefern', 'Pick-up and deliver'),
('31d0ed7c-9dad-58da-8390-55786ee1e6c4', 'Stichspiel', 'Trick-taking'),
('1c83518d-9b9f-512c-a71e-585a5650adea', 'Glück herausfordern', 'Push your luck'),
('f53a7662-1580-57e0-87d3-c79ed720a63a', 'Bluffen', 'Bluffing'),
('71a4f344-709e-5536-a5a9-325d40732509', 'Verdeckte Rollen', 'Hidden roles'),
('3c02a90b-9cb3-50f8-950a-9464a2767c28', 'Variable Spielerfähigkeiten', 'Variable player powers'),
('e49b1223-2605-5c52-98e3-7e0d3e571e98', 'Bewegung auf Raster', 'Grid movement'),
('3f98436d-5aab-56dc-b5e9-4d8a7b0cbfa4', 'Muster bauen', 'Pattern building'),
('de7d374a-d1c6-506b-a92f-c726b06e0563', 'Echtzeit', 'Real-time'),
('c92e4a17-82f5-5e8a-8932-77dcad0cba29', 'Gedächtnis', 'Memory'),
('edec6ec8-5b68-5fc0-892b-8fd739285593', 'Würfeln und Notieren', 'Roll and write'),
('d7ef7709-0a6a-5cbd-b135-086dba038839', 'Kampagne', 'Campaign'),
('8ed41477-247c-5570-8c61-155e6f827660', 'Aktionspunkte', 'Action points'),
('b90c9692-ff39-5170-a1ec-003b35d60950', 'Ressourcenmanagement', 'Resource management'),
('ef336193-3cfb-5f69-81c6-d57f8f720871', 'Erzählen', 'Storytelling'),
('bc7940fd-3e2f-5932-b99f-31d4f55fd289', 'Gegenseitig ärgern', 'Take that'),
('8ec5712b-42be-525a-b60d-1b79379d6f40', 'Spieler scheiden aus', 'Player elimination')
on conflict do nothing;