-- ============================================================= -- Beispieldaten für die lokale Entwicklung/Demo (NICHT Teil der -- automatischen Migrationen – frische Deployments starten bewusst -- leer, s. db/migrations/0001_init.sql). Manuell anwendbar über -- "npm run db:seed-demo". -- -- Ersetzt vorhandene Essenszeiten/Gerichte/Allergene/Zusatzstoffe/ -- Wochenplan-Einträge durch den ursprünglichen Beispieldatensatz. -- ============================================================= delete from menu_entries; delete from dish_suggestions; delete from dishes; delete from sections; delete from allergens; delete from additives; -- ---------- Essenszeiten ---------- insert into sections (key, label, time_range, sort) values ('brotzeit', 'Brotzeit', '09:00 - 10:00', 1), ('mittagessen', 'Mittagessen', '11:30 - 13:30', 2), ('mittagessen_veg', 'Mittagessen vegetarisch', '11:30 - 13:30', 3), ('suppe', 'Suppe', '11:30 - 13:30', 4); insert into section_translations (section_key, language_code, name) values ('brotzeit', 'en', 'Breakfast'), ('brotzeit', 'pl', 'Śniadanie'), ('mittagessen', 'en', 'Lunch'), ('mittagessen', 'pl', 'Obiad'), ('mittagessen_veg', 'en', 'Lunch (vegetarian)'), ('mittagessen_veg', 'pl', 'Obiad (wegetariański)'), ('suppe', 'en', 'Soup'), ('suppe', 'pl', 'Zupa'); -- ---------- Allergene (EU-Kennzeichnung, Buchstaben) ---------- insert into allergens (code, name, sort) values ('A', 'Glutenhaltiges Getreide', 1), ('B', 'Krebstiere', 2), ('C', 'Eier', 3), ('D', 'Fisch', 4), ('E', 'Erdnüsse', 5), ('F', 'Sojabohnen', 6), ('G', 'Milch (einschließlich Laktose)', 7), ('H', 'Schalenfrüchte (Nüsse)', 8), ('I', 'Sellerie', 9), ('J', 'Senf', 10), ('K', 'Sesamsamen', 11), ('L', 'Schwefeldioxid und Sulfite', 12), ('M', 'Lupinen', 13), ('N', 'Weichtiere', 14); insert into allergen_translations (allergen_code, language_code, name) values ('A', 'en', 'Cereals containing gluten'), ('A', 'pl', 'Zboża zawierające gluten'), ('B', 'en', 'Crustaceans'), ('B', 'pl', 'Skorupiaki'), ('C', 'en', 'Eggs'), ('C', 'pl', 'Jaja'), ('D', 'en', 'Fish'), ('D', 'pl', 'Ryby'), ('E', 'en', 'Peanuts'), ('E', 'pl', 'Orzeszki ziemne'), ('F', 'en', 'Soybeans'), ('F', 'pl', 'Soja'), ('G', 'en', 'Milk (including lactose)'), ('G', 'pl', 'Mleko (w tym laktoza)'), ('H', 'en', 'Tree nuts'), ('H', 'pl', 'Orzechy'), ('I', 'en', 'Celery'), ('I', 'pl', 'Seler'), ('J', 'en', 'Mustard'), ('J', 'pl', 'Gorczyca'), ('K', 'en', 'Sesame seeds'), ('K', 'pl', 'Nasiona sezamu'), ('L', 'en', 'Sulphur dioxide and sulphites'), ('L', 'pl', 'Dwutlenek siarki i siarczyny'), ('M', 'en', 'Lupin'), ('M', 'pl', 'Łubin'), ('N', 'en', 'Molluscs'), ('N', 'pl', 'Mięczaki'); -- ---------- Zusatzstoffe (Ziffern) ---------- insert into additives (code, name, sort) values ('1', 'mit Farbstoff', 1), ('2', 'mit Konservierungsstoff', 2), ('3', 'mit Antioxidationsmittel', 3), ('4', 'mit Geschmacksverstärker', 4), ('5', 'geschwefelt', 5), ('6', 'geschwärzt', 6), ('7', 'gewachst', 7), ('8', 'mit Phosphat', 8), ('9', 'mit Süßungsmittel(n)', 9), ('10', 'enthält eine Phenylalaninquelle', 10), ('11', 'koffeinhaltig', 11); insert into additive_translations (additive_code, language_code, name) values ('1', 'en', 'with colouring'), ('1', 'pl', 'z barwnikiem'), ('2', 'en', 'with preservative'), ('2', 'pl', 'z konserwantem'), ('3', 'en', 'with antioxidant'), ('3', 'pl', 'z przeciwutleniaczem'), ('4', 'en', 'with flavour enhancer'), ('4', 'pl', 'ze wzmacniaczem smaku'), ('5', 'en', 'sulphured'), ('5', 'pl', 'siarkowany'), ('6', 'en', 'blackened'), ('6', 'pl', 'barwiony na czarno'), ('7', 'en', 'waxed'), ('7', 'pl', 'woskowany'), ('8', 'en', 'with phosphate'), ('8', 'pl', 'z fosforanem'), ('9', 'en', 'with sweetener(s)'), ('9', 'pl', 'ze słodzikiem/słodzikami'), ('10', 'en', 'contains a source of phenylalanine'), ('10', 'pl', 'zawiera źródło fenyloalaniny'), ('11', 'en', 'caffeinated'), ('11', 'pl', 'zawiera kofeinę'); -- ---------- Testgerichte ---------- insert into dishes (name, price) values -- Brotzeit ('1 Stk. Rindskäsewurst mit Brötchen', 2.30), ('Hackfleischbaguette', 3.20), ('Knusperhähnchen Wrap', 3.70), ('Leberkäse im Brötchen', 2.30), ('Chili con Carne mit Brötchen', 3.90), -- Mittagessen ('Schnitzel Baguette', 3.50), ('Penne mit Grünen Spargel und Garnelenspieße', 5.90), ('Bratkartoffel Gemüse Pfanne mit Hähnchenbrust und Dip', 5.90), ('Schweinefilet im Speckmantel dazu Rahmsoße und Butterspätzle', 5.90), -- Mittagessen vegetarisch ('Penne mit Grünen Spargel, get. Tomaten und Cherrytomaten', 5.30), ('Spaghetti mit fruchtiger Tomatensauce und Parmesan', 5.30), ('Gebackener Feta mit griechischen Bauernsalat und Baguette', 5.30), ('Gemüse-Curry mit Basmatireis', 4.90), -- Suppen ('Kartoffelcremesuppe', 1.50), ('Gulaschsuppe', 2.50), ('Tomatensuppe mit Croutons', 1.80), ('Kürbiscremesuppe', 1.80), ('Linseneintopf mit Würstchen', 2.20); -- ---------- Beispielwoche 13.–17. Juli 2026 ---------- with d as (select id, name from dishes) insert into menu_entries (menu_date, section_key, dish_id) select x.menu_date::date, x.section_key, d.id from (values ('2026-07-13', 'brotzeit', '1 Stk. Rindskäsewurst mit Brötchen'), ('2026-07-14', 'brotzeit', 'Hackfleischbaguette'), ('2026-07-15', 'brotzeit', 'Knusperhähnchen Wrap'), ('2026-07-16', 'brotzeit', 'Leberkäse im Brötchen'), ('2026-07-17', 'brotzeit', 'Chili con Carne mit Brötchen'), ('2026-07-13', 'mittagessen', 'Schnitzel Baguette'), ('2026-07-14', 'mittagessen', 'Penne mit Grünen Spargel und Garnelenspieße'), ('2026-07-15', 'mittagessen', 'Bratkartoffel Gemüse Pfanne mit Hähnchenbrust und Dip'), ('2026-07-16', 'mittagessen', 'Schweinefilet im Speckmantel dazu Rahmsoße und Butterspätzle'), ('2026-07-14', 'mittagessen_veg', 'Penne mit Grünen Spargel, get. Tomaten und Cherrytomaten'), ('2026-07-15', 'mittagessen_veg', 'Spaghetti mit fruchtiger Tomatensauce und Parmesan'), ('2026-07-16', 'mittagessen_veg', 'Gebackener Feta mit griechischen Bauernsalat und Baguette'), ('2026-07-13', 'suppe', 'Kartoffelcremesuppe'), ('2026-07-14', 'suppe', 'Gulaschsuppe'), ('2026-07-15', 'suppe', 'Tomatensuppe mit Croutons'), ('2026-07-16', 'suppe', 'Kürbiscremesuppe'), ('2026-07-17', 'suppe', 'Linseneintopf mit Würstchen') ) as x (menu_date, section_key, name) join d on d.name = x.name; -- ---------- Beispielwoche 20.–24. Juli 2026 ("Nächste Woche") ---------- with d as (select id, name from dishes) insert into menu_entries (menu_date, section_key, dish_id) select x.menu_date::date, x.section_key, d.id from (values ('2026-07-20', 'brotzeit', 'Leberkäse im Brötchen'), ('2026-07-21', 'brotzeit', 'Knusperhähnchen Wrap'), ('2026-07-22', 'brotzeit', '1 Stk. Rindskäsewurst mit Brötchen'), ('2026-07-23', 'brotzeit', 'Hackfleischbaguette'), ('2026-07-24', 'brotzeit', 'Chili con Carne mit Brötchen'), ('2026-07-20', 'mittagessen', 'Bratkartoffel Gemüse Pfanne mit Hähnchenbrust und Dip'), ('2026-07-21', 'mittagessen', 'Schweinefilet im Speckmantel dazu Rahmsoße und Butterspätzle'), ('2026-07-22', 'mittagessen', 'Schnitzel Baguette'), ('2026-07-23', 'mittagessen', 'Penne mit Grünen Spargel und Garnelenspieße'), ('2026-07-20', 'mittagessen_veg', 'Gemüse-Curry mit Basmatireis'), ('2026-07-21', 'mittagessen_veg', 'Spaghetti mit fruchtiger Tomatensauce und Parmesan'), ('2026-07-22', 'mittagessen_veg', 'Gebackener Feta mit griechischen Bauernsalat und Baguette'), ('2026-07-23', 'mittagessen_veg', 'Penne mit Grünen Spargel, get. Tomaten und Cherrytomaten'), ('2026-07-20', 'suppe', 'Gulaschsuppe'), ('2026-07-21', 'suppe', 'Kartoffelcremesuppe'), ('2026-07-22', 'suppe', 'Linseneintopf mit Würstchen'), ('2026-07-23', 'suppe', 'Tomatensuppe mit Croutons'), ('2026-07-24', 'suppe', 'Kürbiscremesuppe') ) as x (menu_date, section_key, name) join d on d.name = x.name;