Gerichtnamen, Essenszeiten und Allergen-/Zusatzstoff-Bezeichnungen sind jetzt genauso dynamisch mehrsprachig wie die Bedienoberfläche aus v1.10.0, statt fest auf Englisch/Polnisch begrenzt zu sein. Neue Übersetzungstabellen ersetzen die alten name_en/name_pl-Spalten, DeepL-Auto-Übersetzung und CSV-Import/-Export unterstützen jetzt beliebig viele aktive Sprachen.
170 lines
9.6 KiB
SQL
170 lines
9.6 KiB
SQL
-- =============================================================
|
||
-- 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;
|