Files
recipe-app/db/seeds/seed_all.sql
T

886 lines
45 KiB
SQL

-- ============================================================
-- seed_all.sql — Komplett seed för kategorier + produkter
--
-- Seeden är ensam sanningskälla för kategorier.
-- Den rensar Category-tabellen och bygger upp allt från scratch.
-- Product.categoryId nollställs och sätts om av STEG 3.
--
-- Kör på servern:
-- DB_PASS=$(grep MARIADB_ROOT_PASSWORD .env | cut -d= -f2)
-- docker exec -i recipe-db mariadb -uroot -p"$DB_PASS" recipe_app < db/seeds/seed_all.sql
-- ============================================================
-- ============================================================
-- RESET: Rensa kategorier och koppla bort produkter
-- ============================================================
SET foreign_key_checks = 0;
TRUNCATE TABLE `Category`;
SET foreign_key_checks = 1;
UPDATE `Product` SET `categoryId` = NULL;
-- ============================================================
-- STEG 1: KATEGORIER (komplett träd — enda sanningskällan)
-- ============================================================
-- ── NIVÅ 1: Toppkategorier ───────────────────────────────────
INSERT INTO `Category` (`name`, `parentId`) VALUES ('Bröd & Kakor', NULL);
INSERT INTO `Category` (`name`, `parentId`) VALUES ('Dryck', NULL);
INSERT INTO `Category` (`name`, `parentId`) VALUES ('Färdigmat', NULL);
INSERT INTO `Category` (`name`, `parentId`) VALUES ('Fryst', NULL);
INSERT INTO `Category` (`name`, `parentId`) VALUES ('Frukt & Grönt', NULL);
INSERT INTO `Category` (`name`, `parentId`) VALUES ('Glass, godis & snacks', NULL);
INSERT INTO `Category` (`name`, `parentId`) VALUES ('Kött, chark & fågel', NULL);
INSERT INTO `Category` (`name`, `parentId`) VALUES ('Mejeri, ost & ägg', NULL);
INSERT INTO `Category` (`name`, `parentId`) VALUES ('Skafferi', NULL);
-- ── NIVÅ 2: under Bröd & Kakor ──────────────────────────────
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Bröd', id FROM `Category` WHERE name = 'Bröd & Kakor' AND parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Kex & Kakor', id FROM `Category` WHERE name = 'Bröd & Kakor' AND parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Knäckebröd & Skorpor', id FROM `Category` WHERE name = 'Bröd & Kakor' AND parentId IS NULL;
-- ── NIVÅ 2: under Dryck ─────────────────────────────────────
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Öl & cider', id FROM `Category` WHERE name = 'Dryck' AND parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Läsk och Energidryck', id FROM `Category` WHERE name = 'Dryck' AND parentId IS NULL;
-- ── NIVÅ 2: under Färdigmat ─────────────────────────────────
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Såser, grytbaser & övriga smaksättare', id FROM `Category` WHERE name = 'Färdigmat' AND parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Gratäng & Röror mm', id FROM `Category` WHERE name = 'Färdigmat' AND parentId IS NULL;
-- ── NIVÅ 2: under Fryst ─────────────────────────────────────
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Bageri', id FROM `Category` WHERE name = 'Fryst' AND parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Grönsaker & kryddor', id FROM `Category` WHERE name = 'Fryst' AND parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Frukt & Bär', id FROM `Category` WHERE name = 'Fryst' AND parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Färdigmat', id FROM `Category` WHERE name = 'Fryst' AND parentId IS NULL;
-- ── NIVÅ 2: under Frukt & Grönt ─────────────────────────────
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Potatis & rotsaker', id FROM `Category` WHERE name = 'Frukt & Grönt' AND parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Kryddor & smaksättare', id FROM `Category` WHERE name = 'Frukt & Grönt' AND parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Grönsaker', id FROM `Category` WHERE name = 'Frukt & Grönt' AND parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Frukt', id FROM `Category` WHERE name = 'Frukt & Grönt' AND parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Färska bär', id FROM `Category` WHERE name = 'Frukt & Grönt' AND parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Svamp', id FROM `Category` WHERE name = 'Frukt & Grönt' AND parentId IS NULL;
-- ── NIVÅ 2: under Glass, godis & snacks ─────────────────────
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Chips, snacks & dip', id FROM `Category` WHERE name = 'Glass, godis & snacks' AND parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Choklad', id FROM `Category` WHERE name = 'Glass, godis & snacks' AND parentId IS NULL;
-- ── NIVÅ 2: under Kött, chark & fågel ───────────────────────
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Pålägg', id FROM `Category` WHERE name = 'Kött, chark & fågel' AND parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Korv', id FROM `Category` WHERE name = 'Kött, chark & fågel' AND parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Kött', id FROM `Category` WHERE name = 'Kött, chark & fågel' AND parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Fågel', id FROM `Category` WHERE name = 'Kött, chark & fågel' AND parentId IS NULL;
-- ── NIVÅ 2: under Mejeri, ost & ägg ─────────────────────────
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Ost', id FROM `Category` WHERE name = 'Mejeri, ost & ägg' AND parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Mjölk', id FROM `Category` WHERE name = 'Mejeri, ost & ägg' AND parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Filmjölk & Yoghurt', id FROM `Category` WHERE name = 'Mejeri, ost & ägg' AND parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Mellanmål & desserter', id FROM `Category` WHERE name = 'Mejeri, ost & ägg' AND parentId IS NULL;
-- ── NIVÅ 2: under Skafferi ──────────────────────────────────
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Kryddor & smaksättare', id FROM `Category` WHERE name = 'Skafferi' AND parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Pasta, ris & matgryn', id FROM `Category` WHERE name = 'Skafferi' AND parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Oliver & delikatesser', id FROM `Category` WHERE name = 'Skafferi' AND parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Konserver & burkar', id FROM `Category` WHERE name = 'Skafferi' AND parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Asien', id FROM `Category` WHERE name = 'Skafferi' AND parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Torkad frukt', id FROM `Category` WHERE name = 'Skafferi' AND parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Torra baljväxter', id FROM `Category` WHERE name = 'Skafferi' AND parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`) SELECT 'Bakning', id FROM `Category` WHERE name = 'Skafferi' AND parentId IS NULL;
-- ── NIVÅ 3: under Bröd & Kakor > Bröd ──────────────────────
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Matbröd', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Bröd'
WHERE c1.name = 'Bröd & Kakor' AND c1.parentId IS NULL;
-- ── NIVÅ 3: under Bröd & Kakor > Kex & Kakor ───────────────
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Matkex', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Kex & Kakor'
WHERE c1.name = 'Bröd & Kakor' AND c1.parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Söta kex & kakor', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Kex & Kakor'
WHERE c1.name = 'Bröd & Kakor' AND c1.parentId IS NULL;
-- ── NIVÅ 3: under Bröd & Kakor > Knäckebröd & Skorpor ──────
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Knäckebröd', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Knäckebröd & Skorpor'
WHERE c1.name = 'Bröd & Kakor' AND c1.parentId IS NULL;
-- ── NIVÅ 3: under Färdigmat > Såser, grytbaser... ───────────
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Dressing & övriga smaksättare', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Såser, grytbaser & övriga smaksättare'
WHERE c1.name = 'Färdigmat' AND c1.parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Kylda såser', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Såser, grytbaser & övriga smaksättare'
WHERE c1.name = 'Färdigmat' AND c1.parentId IS NULL;
-- ── NIVÅ 3: under Färdigmat > Gratäng & Röror mm ────────────
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Krämiga sallader', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Gratäng & Röror mm'
WHERE c1.name = 'Färdigmat' AND c1.parentId IS NULL;
-- ── NIVÅ 3: under Fryst > Bageri ────────────────────────────
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Bröd & fikabröd', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Bageri'
WHERE c1.name = 'Fryst' AND c1.parentId IS NULL;
-- ── NIVÅ 3: under Fryst > Grönsaker & kryddor ───────────────
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Kryddor', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Grönsaker & kryddor'
WHERE c1.name = 'Fryst' AND c1.parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Grönsaker', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Grönsaker & kryddor'
WHERE c1.name = 'Fryst' AND c1.parentId IS NULL;
-- ── NIVÅ 3: under Fryst > Färdigmat ─────────────────────────
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Pizza, paj & piroger', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Färdigmat'
WHERE c1.name = 'Fryst' AND c1.parentId IS NULL;
-- ── NIVÅ 3: under Frukt & Grönt > Potatis & rotsaker ────────
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Lök', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Potatis & rotsaker'
WHERE c1.name = 'Frukt & Grönt' AND c1.parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Rotsaker', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Potatis & rotsaker'
WHERE c1.name = 'Frukt & Grönt' AND c1.parentId IS NULL;
-- ── NIVÅ 3: under Frukt & Grönt > Kryddor & smaksättare ─────
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Smaksättare', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Kryddor & smaksättare'
WHERE c1.name = 'Frukt & Grönt' AND c1.parentId IS NULL;
-- ── NIVÅ 3: under Frukt & Grönt > Grönsaker ─────────────────
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Bönor & Groddar', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Grönsaker'
WHERE c1.name = 'Frukt & Grönt' AND c1.parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Paprika', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Grönsaker'
WHERE c1.name = 'Frukt & Grönt' AND c1.parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Övriga grönsaker', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Grönsaker'
WHERE c1.name = 'Frukt & Grönt' AND c1.parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Tomater', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Grönsaker'
WHERE c1.name = 'Frukt & Grönt' AND c1.parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Färdigskuret', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Grönsaker'
WHERE c1.name = 'Frukt & Grönt' AND c1.parentId IS NULL;
-- ── NIVÅ 3: under Frukt & Grönt > Frukt ─────────────────────
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Druvor', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Frukt'
WHERE c1.name = 'Frukt & Grönt' AND c1.parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Citrusfrukt', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Frukt'
WHERE c1.name = 'Frukt & Grönt' AND c1.parentId IS NULL;
-- ── NIVÅ 3: under Glass > Chips, snacks & dip ───────────────
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Chips', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Chips, snacks & dip'
WHERE c1.name = 'Glass, godis & snacks' AND c1.parentId IS NULL;
-- ── NIVÅ 3: under Glass > Choklad ───────────────────────────
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Chokladkakor & rullar', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Choklad'
WHERE c1.name = 'Glass, godis & snacks' AND c1.parentId IS NULL;
-- ── NIVÅ 3: under Kött, chark & fågel > Pålägg ──────────────
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Skivat pålägg', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Pålägg'
WHERE c1.name = 'Kött, chark & fågel' AND c1.parentId IS NULL;
-- ── NIVÅ 3: under Kött, chark & fågel > Korv ────────────────
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Ölkorv', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Korv'
WHERE c1.name = 'Kött, chark & fågel' AND c1.parentId IS NULL;
-- ── NIVÅ 3: under Kött, chark & fågel > Kött ────────────────
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Färdiglagat & pannfärdigt', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Kött'
WHERE c1.name = 'Kött, chark & fågel' AND c1.parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Fläsk', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Kött'
WHERE c1.name = 'Kött, chark & fågel' AND c1.parentId IS NULL;
-- ── NIVÅ 3: under Kött, chark & fågel > Fågel ───────────────
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Fryst fågel', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Fågel'
WHERE c1.name = 'Kött, chark & fågel' AND c1.parentId IS NULL;
-- ── NIVÅ 3: under Mejeri, ost & ägg > Ost ───────────────────
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Färskost', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Ost'
WHERE c1.name = 'Mejeri, ost & ägg' AND c1.parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Dessertost', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Ost'
WHERE c1.name = 'Mejeri, ost & ägg' AND c1.parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Matlagningsost', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Ost'
WHERE c1.name = 'Mejeri, ost & ägg' AND c1.parentId IS NULL;
-- ── NIVÅ 3: under Mejeri, ost & ägg > Mjölk ─────────────────
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Standardmjölk', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Mjölk'
WHERE c1.name = 'Mejeri, ost & ägg' AND c1.parentId IS NULL;
-- ── NIVÅ 3: under Mejeri, ost & ägg > Filmjölk & Yoghurt ────
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Filmjölk', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Filmjölk & Yoghurt'
WHERE c1.name = 'Mejeri, ost & ägg' AND c1.parentId IS NULL;
-- ── NIVÅ 3: under Skafferi > Kryddor & smaksättare ──────────
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Sås, dressing & majonnäs', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Kryddor & smaksättare'
WHERE c1.name = 'Skafferi' AND c1.parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Kryddor', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Kryddor & smaksättare'
WHERE c1.name = 'Skafferi' AND c1.parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Övriga smaksättare', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Kryddor & smaksättare'
WHERE c1.name = 'Skafferi' AND c1.parentId IS NULL;
-- ── NIVÅ 3: under Skafferi > Pasta, ris & matgryn ───────────
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Färsk pasta', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Pasta, ris & matgryn'
WHERE c1.name = 'Skafferi' AND c1.parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Pasta', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Pasta, ris & matgryn'
WHERE c1.name = 'Skafferi' AND c1.parentId IS NULL;
-- ── NIVÅ 3: under Skafferi > Oliver & delikatesser ──────────
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Delikatesser', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Oliver & delikatesser'
WHERE c1.name = 'Skafferi' AND c1.parentId IS NULL;
-- ── NIVÅ 3: under Skafferi > Konserver & burkar ─────────────
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Tomatkonserver', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Konserver & burkar'
WHERE c1.name = 'Skafferi' AND c1.parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Fruktkonserver', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Konserver & burkar'
WHERE c1.name = 'Skafferi' AND c1.parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Grönsakskonserver', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Konserver & burkar'
WHERE c1.name = 'Skafferi' AND c1.parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Fisk- & skaldjurskonserver', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Konserver & burkar'
WHERE c1.name = 'Skafferi' AND c1.parentId IS NULL;
-- ── NIVÅ 3: under Skafferi > Asien ──────────────────────────
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Såser & grytbaser', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Asien'
WHERE c1.name = 'Skafferi' AND c1.parentId IS NULL;
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Nudlar', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Asien'
WHERE c1.name = 'Skafferi' AND c1.parentId IS NULL;
-- ── NIVÅ 3: under Skafferi > Torra baljväxter ───────────────
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Fröer & kärnor', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Torra baljväxter'
WHERE c1.name = 'Skafferi' AND c1.parentId IS NULL;
-- ── NIVÅ 3: under Skafferi > Bakning ────────────────────────
INSERT INTO `Category` (`name`, `parentId`)
SELECT 'Baktillbehör', c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Bakning'
WHERE c1.name = 'Skafferi' AND c1.parentId IS NULL;
-- ============================================================
-- STEG 2: PRODUKTER (INSERT IGNORE — hoppar över befintliga)
-- (från 002-seed-products.sql.disabled)
-- ============================================================
INSERT IGNORE INTO `Product` (`name`, `normalizedName`, `isActive`, `createdAt`, `updatedAt`) VALUES
('Ananas', 'ananas', 1, NOW(), NOW()),
('Anka', 'anka', 1, NOW(), NOW()),
('Ankbröst', 'ankbrost', 1, NOW(), NOW()),
('Apelsin', 'apelsin', 1, NOW(), NOW()),
('Aubergine', 'aubergine', 1, NOW(), NOW()),
('Avokado', 'avokado', 1, NOW(), NOW()),
('Banan', 'banan', 1, NOW(), NOW()),
('Basilika', 'basilika', 1, NOW(), NOW()),
('Blandfärs', 'blandfars', 1, NOW(), NOW()),
('Blomkål', 'blomkal', 1, NOW(), NOW()),
('Bläckfisk', 'blackfisk', 1, NOW(), NOW()),
('Blåbär', 'blabar', 1, NOW(), NOW()),
('Broccoli', 'broccoli', 1, NOW(), NOW()),
('Bröd', 'brod', 1, NOW(), NOW()),
('Buljong', 'buljong', 1, NOW(), NOW()),
('Bönor', 'bonor', 1, NOW(), NOW()),
('Chiliflingor', 'chiliflingor', 1, NOW(), NOW()),
('Chilipulver', 'chilipulver', 1, NOW(), NOW()),
('Chips', 'chips', 1, NOW(), NOW()),
('Choklad', 'choklad', 1, NOW(), NOW()),
('Citron', 'citron', 1, NOW(), NOW()),
('Curry (mild)', 'currymild', 1, NOW(), NOW()),
('Curry (stark)', 'currystark', 1, NOW(), NOW()),
('Dill', 'dill', 1, NOW(), NOW()),
('Druvor', 'druvor', 1, NOW(), NOW()),
('Entrecote', 'entrecote', 1, NOW(), NOW()),
('Falukorv', 'falukorv', 1, NOW(), NOW()),
('Fasan', 'fasan', 1, NOW(), NOW()),
('Fil', 'fil', 1, NOW(), NOW()),
('Fisk', 'fisk', 1, NOW(), NOW()),
('Fläskfilé', 'flaskfile', 1, NOW(), NOW()),
('Fläskkarré', 'flaskkarre', 1, NOW(), NOW()),
('Fläskkotlett', 'flaskkotlett', 1, NOW(), NOW()),
('Fläskrevben', 'flaskrevben', 1, NOW(), NOW()),
('Fläsksidfläsk', 'flasksidflask', 1, NOW(), NOW()),
('Fläskytterfilé', 'flaskytterfile', 1, NOW(), NOW()),
('Fryst dill', 'frystdill', 1, NOW(), NOW()),
('Fryst persilja', 'frystpersilja', 1, NOW(), NOW()),
('Färsk basilika', 'farskbasilika', 1, NOW(), NOW()),
('Färsk chili', 'farskchili', 1, NOW(), NOW()),
('Färsk dill', 'farskdill', 1, NOW(), NOW()),
('Färsk ingefära', 'farskingefara', 1, NOW(), NOW()),
('Färsk koriander', 'farskkoriander', 1, NOW(), NOW()),
('Färsk oregano', 'farskoregano', 1, NOW(), NOW()),
('Färsk persilja', 'farskpersilja', 1, NOW(), NOW()),
('Färsk rosmarin', 'farskrosmarin', 1, NOW(), NOW()),
('Färsk timjan', 'farsktimjan', 1, NOW(), NOW()),
('Glass', 'glass', 1, NOW(), NOW()),
('Grädde', 'gradde', 1, NOW(), NOW()),
('Gräddfil', 'graddfil', 1, NOW(), NOW()),
('Grönkål', 'gronkal', 1, NOW(), NOW()),
('Gurka', 'gurka', 1, NOW(), NOW()),
('Gås', 'gas', 1, NOW(), NOW()),
('Hallon', 'hallon', 1, NOW(), NOW()),
('Havregryn', 'havregryn', 1, NOW(), NOW()),
('Ingefärspulver', 'ingefarspulver', 1, NOW(), NOW()),
('Jordgubbar', 'jordgubbar', 1, NOW(), NOW()),
('Juice', 'juice', 1, NOW(), NOW()),
('Kaffe', 'kaffe', 1, NOW(), NOW()),
('Kakor', 'kakor', 1, NOW(), NOW()),
('Kalkon', 'kalkon', 1, NOW(), NOW()),
('Kalkonfilé', 'kalkonfile', 1, NOW(), NOW()),
('Kalkonfärs', 'kalkonfars', 1, NOW(), NOW()),
('Kalvfilé', 'kalvfile', 1, NOW(), NOW()),
('Kalvkotlett', 'kalvkotlett', 1, NOW(), NOW()),
('Kanelstång', 'kanelstang', 1, NOW(), NOW()),
('Ketchup', 'ketchup', 1, NOW(), NOW()),
('Kex', 'kex', 1, NOW(), NOW()),
('Kikärter', 'kikarter', 1, NOW(), NOW()),
('Kiwi', 'kiwi', 1, NOW(), NOW()),
('Korianderfrön', 'korianderfron', 1, NOW(), NOW()),
('Korv', 'korv', 1, NOW(), NOW()),
('Kryddor', 'kryddor', 1, NOW(), NOW()),
('Kumminsfrön', 'kumminsfron', 1, NOW(), NOW()),
('Kyckling', 'kyckling', 1, NOW(), NOW()),
('Kycklingben', 'kycklingben', 1, NOW(), NOW()),
('Kycklingben (lårben)', 'kycklingbenlarben', 1, NOW(), NOW()),
('Kycklingben (vingben)', 'kycklingbenvingben', 1, NOW(), NOW()),
('Kycklingbröst', 'kycklingbrost', 1, NOW(), NOW()),
('Kycklingfilé', 'kycklingfile', 1, NOW(), NOW()),
('Kycklingfärs', 'kycklingfars', 1, NOW(), NOW()),
('Kycklinggrund', 'kycklinggrund', 1, NOW(), NOW()),
('Kycklinghals', 'kycklinghals', 1, NOW(), NOW()),
('Kycklinghel', 'kycklinghel', 1, NOW(), NOW()),
('Kycklinghjärta', 'kycklinghjarta', 1, NOW(), NOW()),
('Kycklingkarré', 'kycklingkarre', 1, NOW(), NOW()),
('Kycklingklubba', 'kycklingklubba', 1, NOW(), NOW()),
('Kycklingkropp', 'kycklingkropp', 1, NOW(), NOW()),
('Kycklinglever', 'kycklinglever', 1, NOW(), NOW()),
('Kycklinglår', 'kycklinglar', 1, NOW(), NOW()),
('Kycklingmälta', 'kycklingmalta', 1, NOW(), NOW()),
('Kycklingrevben', 'kycklingrevben', 1, NOW(), NOW()),
('Kycklingvinge', 'kycklingvinge', 1, NOW(), NOW()),
('Kålrot', 'kalrot', 1, NOW(), NOW()),
('Köttbullar', 'kottbullar', 1, NOW(), NOW()),
('Köttfärs', 'kottfars', 1, NOW(), NOW()),
('Lammbog', 'lammbog', 1, NOW(), NOW()),
('Lammfärs', 'lammfars', 1, NOW(), NOW()),
('Lammhals', 'lammhals', 1, NOW(), NOW()),
('Lammkotlett', 'lammkotlett', 1, NOW(), NOW()),
('Lammrack', 'lammrack', 1, NOW(), NOW()),
('Lammrevben', 'lammrevben', 1, NOW(), NOW()),
('Lammstek', 'lammstek', 1, NOW(), NOW()),
('Lasagne', 'lasagne', 1, NOW(), NOW()),
('Lax', 'lax', 1, NOW(), NOW()),
('Lime', 'lime', 1, NOW(), NOW()),
('Linser', 'linser', 1, NOW(), NOW()),
('Läsk', 'lask', 1, NOW(), NOW()),
('Lök', 'lok', 1, NOW(), NOW()),
('Macka', 'macka', 1, NOW(), NOW()),
('Majonnäs', 'majonnas', 1, NOW(), NOW()),
('Malen kanel', 'malenkanel', 1, NOW(), NOW()),
('Malet kummin', 'maletkummin', 1, NOW(), NOW()),
('Mango', 'mango', 1, NOW(), NOW()),
('Marmelad', 'marmelad', 1, NOW(), NOW()),
('Mjöl', 'mjol', 1, NOW(), NOW()),
('Mjölk', 'mjolk', 1, NOW(), NOW()),
('Morot', 'morot', 1, NOW(), NOW()),
('Musslor', 'musslor', 1, NOW(), NOW()),
('Must', 'must', 1, NOW(), NOW()),
('Müsli', 'musli', 1, NOW(), NOW()),
('Nötfärs', 'notfars', 1, NOW(), NOW()),
('Nötter', 'notter', 1, NOW(), NOW()),
('Nötterrin', 'notterrin', 1, NOW(), NOW()),
('Olivolja', 'olivolja', 1, NOW(), NOW()),
('Oregano', 'oregano', 1, NOW(), NOW()),
('Ost', 'ost', 1, NOW(), NOW()),
('Ostskivor', 'ostskivor', 1, NOW(), NOW()),
('Oxfile', 'oxfile', 1, NOW(), NOW()),
('Oxhjärta', 'oxhjarta', 1, NOW(), NOW()),
('Oxlever', 'oxlever', 1, NOW(), NOW()),
('Palsternacka', 'palsternacka', 1, NOW(), NOW()),
('Paprika', 'paprika', 1, NOW(), NOW()),
('Paprikapulver', 'paprikapulver', 1, NOW(), NOW()),
('Pasta', 'pasta', 1, NOW(), NOW()),
('Persilja', 'persilja', 1, NOW(), NOW()),
('Pizza', 'pizza', 1, NOW(), NOW()),
('Potatis', 'potatis', 1, NOW(), NOW()),
('Proteinpulver', 'proteinpulver', 1, NOW(), NOW()),
('Purjolök', 'purjolok', 1, NOW(), NOW()),
('Päron', 'paron', 1, NOW(), NOW()),
('Quorn', 'quorn', 1, NOW(), NOW()),
('Renkött', 'renkott', 1, NOW(), NOW()),
('Rimmat kött', 'rimmatkott', 1, NOW(), NOW()),
('Ris', 'ris', 1, NOW(), NOW()),
('Rosmarin', 'rosmarin', 1, NOW(), NOW()),
('Russin', 'russin', 1, NOW(), NOW()),
('Räkor', 'rakor', 1, NOW(), NOW()),
('Råbiff', 'rabiff', 1, NOW(), NOW()),
('Rödbeta', 'rodbeta', 1, NOW(), NOW()),
('Rödlök', 'rodlok', 1, NOW(), NOW()),
('Rökt paprikapulver', 'roktpaprikapulver', 1, NOW(), NOW()),
('Saft', 'saft', 1, NOW(), NOW()),
('Sallad', 'sallad', 1, NOW(), NOW()),
('Salt', 'salt', 1, NOW(), NOW()),
('Selleri', 'selleri', 1, NOW(), NOW()),
('Sill', 'sill', 1, NOW(), NOW()),
('Skinka', 'skinka', 1, NOW(), NOW()),
('Smör', 'smor', 1, NOW(), NOW()),
('Socker', 'socker', 1, NOW(), NOW()),
('Spaghetti', 'spaghetti', 1, NOW(), NOW()),
('Spenat', 'spenat', 1, NOW(), NOW()),
('Stark paprikapulver', 'starkpaprikapulver', 1, NOW(), NOW()),
('Strömming', 'stromming', 1, NOW(), NOW()),
('Svartpeppar', 'svartpeppar', 1, NOW(), NOW()),
('Söt paprikapulver', 'sotpaprikapulver', 1, NOW(), NOW()),
('Sötpotatis', 'sotpotatis', 1, NOW(), NOW()),
('Tartar', 'tartar', 1, NOW(), NOW()),
('Te', 'te', 1, NOW(), NOW()),
('Timjan', 'timjan', 1, NOW(), NOW()),
('Tofu', 'tofu', 1, NOW(), NOW()),
('Tomat', 'tomat', 1, NOW(), NOW()),
('Torkad basilika', 'torkadbasilika', 1, NOW(), NOW()),
('Torkad chili', 'torkadchili', 1, NOW(), NOW()),
('Torkad dill', 'torkaddill', 1, NOW(), NOW()),
('Torkad ingefära', 'torkadingefara', 1, NOW(), NOW()),
('Torkad koriander', 'torkadkoriander', 1, NOW(), NOW()),
('Torkad oregano', 'torkadoregano', 1, NOW(), NOW()),
('Torkad persilja', 'torkadpersilja', 1, NOW(), NOW()),
('Torkad rosmarin', 'torkadrosmarin', 1, NOW(), NOW()),
('Torkad timjan', 'torkadtimjan', 1, NOW(), NOW()),
('Torskrygg', 'torskrygg', 1, NOW(), NOW()),
('Vatten', 'vatten', 1, NOW(), NOW()),
('Vegebullar', 'vegebullar', 1, NOW(), NOW()),
('Vegobitar', 'vegobitar', 1, NOW(), NOW()),
('Vegofärs', 'vegofars', 1, NOW(), NOW()),
('Vegokorv', 'vegokorv', 1, NOW(), NOW()),
('Vildsvin', 'vildsvin', 1, NOW(), NOW()),
('Viltkött', 'viltkott', 1, NOW(), NOW()),
('Vinäger', 'vinager', 1, NOW(), NOW()),
('Vitkål', 'vitkal', 1, NOW(), NOW()),
('Vitlök', 'vitlok', 1, NOW(), NOW()),
('Vitpeppar', 'vitpeppar', 1, NOW(), NOW()),
('Ägg', 'agg', 1, NOW(), NOW()),
('Älgkött', 'algkott', 1, NOW(), NOW());
-- ============================================================
-- STEG 3: KATEGORITILLDELNING (UPDATE — körs alltid, oavsett om produkten är ny eller gammal)
-- (från seed_product_categories.sql)
-- ============================================================
-- Frukt & Grönt > Frukt > Druvor
UPDATE `Product` SET `categoryId` = (
SELECT c3.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Frukt'
JOIN `Category` c3 ON c3.parentId = c2.id AND c3.name = 'Druvor'
WHERE c1.name = 'Frukt & Grönt' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN ('Druvor', 'Gröna druvor', 'Röda druvor');
-- Frukt & Grönt > Frukt > Citrusfrukt
UPDATE `Product` SET `categoryId` = (
SELECT c3.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Frukt'
JOIN `Category` c3 ON c3.parentId = c2.id AND c3.name = 'Citrusfrukt'
WHERE c1.name = 'Frukt & Grönt' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN ('Apelsin', 'Citron', 'Lime');
-- Frukt & Grönt > Frukt
UPDATE `Product` SET `categoryId` = (
SELECT c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Frukt'
WHERE c1.name = 'Frukt & Grönt' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN ('Ananas', 'Banan', 'Kiwi', 'Mango', 'Päron');
-- Frukt & Grönt > Färska bär
UPDATE `Product` SET `categoryId` = (
SELECT c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Färska bär'
WHERE c1.name = 'Frukt & Grönt' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN ('Blåbär', 'Hallon', 'Jordgubbar');
-- Frukt & Grönt > Grönsaker > Tomater
UPDATE `Product` SET `categoryId` = (
SELECT c3.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Grönsaker'
JOIN `Category` c3 ON c3.parentId = c2.id AND c3.name = 'Tomater'
WHERE c1.name = 'Frukt & Grönt' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN ('Tomat');
-- Frukt & Grönt > Grönsaker > Paprika
UPDATE `Product` SET `categoryId` = (
SELECT c3.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Grönsaker'
JOIN `Category` c3 ON c3.parentId = c2.id AND c3.name = 'Paprika'
WHERE c1.name = 'Frukt & Grönt' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN ('Paprika');
-- Frukt & Grönt > Grönsaker > Övriga grönsaker
UPDATE `Product` SET `categoryId` = (
SELECT c3.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Grönsaker'
JOIN `Category` c3 ON c3.parentId = c2.id AND c3.name = 'Övriga grönsaker'
WHERE c1.name = 'Frukt & Grönt' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN (
'Aubergine', 'Avokado', 'Blomkål', 'Broccoli', 'Grönkål', 'Gurka',
'Sallad', 'Selleri', 'Spenat', 'Vitkål'
);
-- Frukt & Grönt > Potatis & rotsaker > Lök
UPDATE `Product` SET `categoryId` = (
SELECT c3.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Potatis & rotsaker'
JOIN `Category` c3 ON c3.parentId = c2.id AND c3.name = 'Lök'
WHERE c1.name = 'Frukt & Grönt' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN ('Lök', 'Purjolök', 'Rödlök', 'Vitlök');
-- Frukt & Grönt > Potatis & rotsaker > Rotsaker
UPDATE `Product` SET `categoryId` = (
SELECT c3.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Potatis & rotsaker'
JOIN `Category` c3 ON c3.parentId = c2.id AND c3.name = 'Rotsaker'
WHERE c1.name = 'Frukt & Grönt' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN ('Kålrot', 'Morot', 'Palsternacka', 'Rödbeta');
-- Frukt & Grönt > Potatis & rotsaker
UPDATE `Product` SET `categoryId` = (
SELECT c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Potatis & rotsaker'
WHERE c1.name = 'Frukt & Grönt' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN ('Potatis', 'Sötpotatis');
-- Frukt & Grönt > Kryddor & smaksättare > Smaksättare (färska örter)
UPDATE `Product` SET `categoryId` = (
SELECT c3.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Kryddor & smaksättare'
JOIN `Category` c3 ON c3.parentId = c2.id AND c3.name = 'Smaksättare'
WHERE c1.name = 'Frukt & Grönt' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN (
'Färsk basilika', 'Färsk chili', 'Färsk dill', 'Färsk ingefära',
'Färsk koriander', 'Färsk oregano', 'Färsk persilja',
'Färsk rosmarin', 'Färsk timjan'
);
-- Mejeri, ost & ägg > Mjölk
UPDATE `Product` SET `categoryId` = (
SELECT c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Mjölk'
WHERE c1.name = 'Mejeri, ost & ägg' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN ('Mjölk');
-- Mejeri, ost & ägg > Filmjölk & Yoghurt > Filmjölk
UPDATE `Product` SET `categoryId` = (
SELECT c3.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Filmjölk & Yoghurt'
JOIN `Category` c3 ON c3.parentId = c2.id AND c3.name = 'Filmjölk'
WHERE c1.name = 'Mejeri, ost & ägg' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN ('Fil');
-- Mejeri, ost & ägg (ingen djupare nivå)
UPDATE `Product` SET `categoryId` = (
SELECT id FROM `Category`
WHERE name = 'Mejeri, ost & ägg' AND parentId IS NULL
LIMIT 1
) WHERE `name` IN ('Ägg', 'Grädde', 'Gräddfil', 'Smör');
-- Kött, chark & fågel > Fågel
UPDATE `Product` SET `categoryId` = (
SELECT c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Fågel'
WHERE c1.name = 'Kött, chark & fågel' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN (
'Anka', 'Ankbröst', 'Fasan', 'Gås',
'Kalkon', 'Kalkonfilé', 'Kalkonfärs',
'Kyckling', 'Kycklingben', 'Kycklingben (lårben)', 'Kycklingben (vingben)',
'Kycklingbröst', 'Kycklingfilé', 'Kycklingfärs', 'Kycklinggrund',
'Kycklinghals', 'Kycklinghel', 'Kycklinghjärta', 'Kycklingkarré',
'Kycklingklubba', 'Kycklingkropp', 'Kycklinglever', 'Kycklinglår',
'Kycklingmälta', 'Kycklingrevben', 'Kycklingvinge'
);
-- Kött, chark & fågel > Kött > Fläsk
UPDATE `Product` SET `categoryId` = (
SELECT c3.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Kött'
JOIN `Category` c3 ON c3.parentId = c2.id AND c3.name = 'Fläsk'
WHERE c1.name = 'Kött, chark & fågel' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN (
'Fläskfilé', 'Fläskkarré', 'Fläskkotlett',
'Fläskrevben', 'Fläsksidfläsk', 'Fläskytterfilé'
);
-- Kött, chark & fågel > Kött > Färdiglagat & pannfärdigt
UPDATE `Product` SET `categoryId` = (
SELECT c3.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Kött'
JOIN `Category` c3 ON c3.parentId = c2.id AND c3.name = 'Färdiglagat & pannfärdigt'
WHERE c1.name = 'Kött, chark & fågel' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN ('Köttbullar');
-- Kött, chark & fågel > Kött
UPDATE `Product` SET `categoryId` = (
SELECT c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Kött'
WHERE c1.name = 'Kött, chark & fågel' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN (
'Blandfärs', 'Entrecote',
'Kalvfilé', 'Kalvkotlett',
'Köttfärs', 'Lammbog', 'Lammfärs', 'Lammhals', 'Lammkotlett',
'Lammrack', 'Lammrevben', 'Lammstek',
'Nötfärs', 'Oxfile', 'Oxhjärta', 'Oxlever',
'Råbiff', 'Renkött', 'Rimmat kött', 'Tartar',
'Vildsvin', 'Viltkött', 'Älgkött'
);
-- Kött, chark & fågel > Korv
UPDATE `Product` SET `categoryId` = (
SELECT c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Korv'
WHERE c1.name = 'Kött, chark & fågel' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN ('Falukorv', 'Korv');
-- Kött, chark & fågel > Pålägg > Skivat pålägg
UPDATE `Product` SET `categoryId` = (
SELECT c3.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Pålägg'
JOIN `Category` c3 ON c3.parentId = c2.id AND c3.name = 'Skivat pålägg'
WHERE c1.name = 'Kött, chark & fågel' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN ('Skinka');
-- Glass, godis & snacks > Choklad
UPDATE `Product` SET `categoryId` = (
SELECT c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Choklad'
WHERE c1.name = 'Glass, godis & snacks' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN ('Choklad');
-- Glass, godis & snacks > Chips, snacks & dip > Chips
UPDATE `Product` SET `categoryId` = (
SELECT c3.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Chips, snacks & dip'
JOIN `Category` c3 ON c3.parentId = c2.id AND c3.name = 'Chips'
WHERE c1.name = 'Glass, godis & snacks' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN ('Chips');
-- Dryck > Läsk och Energidryck
UPDATE `Product` SET `categoryId` = (
SELECT c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Läsk och Energidryck'
WHERE c1.name = 'Dryck' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN ('Läsk');
-- Dryck (toppnivå)
UPDATE `Product` SET `categoryId` = (
SELECT id FROM `Category`
WHERE name = 'Dryck' AND parentId IS NULL
LIMIT 1
) WHERE `name` IN ('Juice', 'Kaffe', 'Must', 'Saft', 'Te', 'Vatten');
-- Fryst > Färdigmat > Pizza, paj & piroger
UPDATE `Product` SET `categoryId` = (
SELECT c3.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Färdigmat'
JOIN `Category` c3 ON c3.parentId = c2.id AND c3.name = 'Pizza, paj & piroger'
WHERE c1.name = 'Fryst' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN ('Pizza');
-- Fryst > Grönsaker & kryddor > Grönsaker
UPDATE `Product` SET `categoryId` = (
SELECT c3.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Grönsaker & kryddor'
JOIN `Category` c3 ON c3.parentId = c2.id AND c3.name = 'Grönsaker'
WHERE c1.name = 'Fryst' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN ('Fryst dill', 'Fryst persilja');
-- Skafferi > Pasta, ris & matgryn > Pasta
UPDATE `Product` SET `categoryId` = (
SELECT c3.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Pasta, ris & matgryn'
JOIN `Category` c3 ON c3.parentId = c2.id AND c3.name = 'Pasta'
WHERE c1.name = 'Skafferi' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN ('Lasagne', 'Pasta', 'Spaghetti');
-- Skafferi > Pasta, ris & matgryn
UPDATE `Product` SET `categoryId` = (
SELECT c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Pasta, ris & matgryn'
WHERE c1.name = 'Skafferi' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN ('Havregryn', 'Müsli', 'Ris');
-- Skafferi > Kryddor & smaksättare > Kryddor (torkade örter och malda kryddor)
UPDATE `Product` SET `categoryId` = (
SELECT c3.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Kryddor & smaksättare'
JOIN `Category` c3 ON c3.parentId = c2.id AND c3.name = 'Kryddor'
WHERE c1.name = 'Skafferi' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN (
'Basilika', 'Chiliflingor', 'Chilipulver', 'Dill',
'Ingefärspulver', 'Kanelstång', 'Korianderfrön', 'Kryddor', 'Kumminsfrön',
'Malen kanel', 'Malet kummin', 'Oregano',
'Paprikapulver', 'Persilja', 'Rosmarin', 'Salt',
'Stark paprikapulver', 'Svartpeppar', 'Söt paprikapulver',
'Rökt paprikapulver', 'Timjan', 'Vitpeppar',
'Torkad basilika', 'Torkad chili', 'Torkad dill',
'Torkad ingefära', 'Torkad koriander', 'Torkad oregano',
'Torkad persilja', 'Torkad rosmarin', 'Torkad timjan'
);
-- Skafferi > Kryddor & smaksättare > Sås, dressing & majonnäs
UPDATE `Product` SET `categoryId` = (
SELECT c3.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Kryddor & smaksättare'
JOIN `Category` c3 ON c3.parentId = c2.id AND c3.name = 'Sås, dressing & majonnäs'
WHERE c1.name = 'Skafferi' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN ('Ketchup', 'Majonnäs', 'Vinäger');
-- Skafferi > Kryddor & smaksättare > Övriga smaksättare
UPDATE `Product` SET `categoryId` = (
SELECT c3.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Kryddor & smaksättare'
JOIN `Category` c3 ON c3.parentId = c2.id AND c3.name = 'Övriga smaksättare'
WHERE c1.name = 'Skafferi' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN ('Olivolja');
-- Skafferi > Kryddor & smaksättare (ingen djupare nivå)
UPDATE `Product` SET `categoryId` = (
SELECT c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Kryddor & smaksättare'
WHERE c1.name = 'Skafferi' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN ('Buljong');
-- Skafferi > Torra baljväxter
UPDATE `Product` SET `categoryId` = (
SELECT c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Torra baljväxter'
WHERE c1.name = 'Skafferi' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN ('Bönor', 'Kikärter', 'Linser');
-- Skafferi > Torkad frukt
UPDATE `Product` SET `categoryId` = (
SELECT c2.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Torkad frukt'
WHERE c1.name = 'Skafferi' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN ('Russin');
-- Skafferi > Bakning > Baktillbehör
UPDATE `Product` SET `categoryId` = (
SELECT c3.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Bakning'
JOIN `Category` c3 ON c3.parentId = c2.id AND c3.name = 'Baktillbehör'
WHERE c1.name = 'Skafferi' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN ('Mjöl', 'Socker');
-- Skafferi > Konserver & burkar > Fruktkonserver
UPDATE `Product` SET `categoryId` = (
SELECT c3.id FROM `Category` c1
JOIN `Category` c2 ON c2.parentId = c1.id AND c2.name = 'Konserver & burkar'
JOIN `Category` c3 ON c3.parentId = c2.id AND c3.name = 'Fruktkonserver'
WHERE c1.name = 'Skafferi' AND c1.parentId IS NULL
LIMIT 1
) WHERE `name` IN ('Marmelad');