Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions backend/db/migrations/003_add_food_category.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
-- 003_add_food_category.sql
-- Wine not? – grovere matkategorier til Find wine by food
-- Kjør med: psql -d winenot -v ON_ERROR_STOP=1 -f backend/db/migrations/003_add_food_category.sql
--
-- Hver matverdi fra X-Wines (f.eks. 'Rich Fish', 'Shellfish') får én kategori (f.eks. 'Fish & seafood').
-- Selve grupperingen ligger i db/seeds/food_categories.sql og kjøres av importskriptet.

BEGIN;

ALTER TABLE foods ADD COLUMN category text;

CREATE INDEX foods_category_idx ON foods (category);

COMMIT;
76 changes: 76 additions & 0 deletions backend/db/seeds/food_categories.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
-- food_categories.sql
-- Grupperer matverdiene fra X-Wines (kolonnen Harmonize) i kategorier for Find wine by food.
--
-- Kjøres automatisk av importskriptet etter at maten er satt inn, og kan også kjøres alene:
-- psql -d winenot -1 -v ON_ERROR_STOP=1 -f backend/db/seeds/food_categories.sql
-- (-1 kjører hele filen som én transaksjon. Filen har ikke egen BEGIN/COMMIT,
-- fordi importskriptet kjører den inne i sin egen transaksjon.)
--
-- Endre en kategori: bytt navnet i høyre kolonne og kjør filen på nytt.
-- Ny matverdi uten kategori: importskriptet lister dem opp. Legg dem til her.
-- Matverdier som ikke står her, får category = NULL og vises ikke i Find wine by food.

UPDATE foods SET category = NULL;

UPDATE foods AS f
SET category = m.category
FROM (VALUES
-- Kjøtt
('Beef', 'Meat'),
('Lamb', 'Meat'),
('Veal', 'Meat'),
('Pork', 'Meat'),
('Game Meat', 'Meat'),
('Barbecue', 'Meat'),
('Grilled', 'Meat'),

-- Fjærkre
('Poultry', 'Poultry'),
('Chicken', 'Poultry'),

-- Fisk og sjømat
('Fish', 'Fish & seafood'),
('Rich Fish', 'Fish & seafood'),
('Lean Fish', 'Fish & seafood'),
('Seafood', 'Fish & seafood'),
('Shellfish', 'Fish & seafood'),

-- Ost
('Maturated Cheese', 'Cheese'),
('Soft Cheese', 'Cheese'),
('Hard Cheese', 'Cheese'),
('Blue Cheese', 'Cheese'),
('Goat Cheese', 'Cheese'),

-- Pasta, pizza og gryter
('Pasta', 'Pasta, pizza & stews'),
('Pizza', 'Pasta, pizza & stews'),
('Risotto', 'Pasta, pizza & stews'),
('Tomato Dishes', 'Pasta, pizza & stews'),
('Light Stews', 'Pasta, pizza & stews'),

-- Vegetar
('Vegetarian', 'Vegetarian'),
('Salad', 'Vegetarian'),
('Mushrooms', 'Vegetarian'),

-- Sterk mat
('Spicy Food', 'Spicy food'),

-- Småretter og aperitiff
('Appetizer', 'Snacks & starters'),
('Snack', 'Snacks & starters'),
('Aperitif', 'Snacks & starters'),
('Cured Meat', 'Snacks & starters'),
('Cold Cuts', 'Snacks & starters'),
('French Fries', 'Snacks & starters'),

-- Dessert
('Sweet Dessert', 'Dessert'),
('Fruit Dessert', 'Dessert'),
('Cake', 'Dessert'),
('Chocolate', 'Dessert'),
('Fruit', 'Dessert'),
('Cream', 'Dessert')
) AS m(food, category)
WHERE f.name = m.food;
Loading