fix: remove 'Övrigt' category and limit product category updates to a single result

This commit is contained in:
Nils-Johan Gynther
2026-04-19 22:57:03 +02:00
parent 89f70c74e5
commit 27af419320
+33 -19
View File
@@ -21,7 +21,6 @@
-- LEVEL 1 — Toppkategorier (nya)
INSERT IGNORE INTO `Category` (`name`, `parentId`) VALUES ('Dryck', NULL);
INSERT IGNORE INTO `Category` (`name`, `parentId`) VALUES ('Övrigt', NULL);
-- LEVEL 2 — under Dryck
INSERT IGNORE INTO `Category` (`name`, `parentId`)
@@ -71,24 +70,6 @@ INSERT IGNORE INTO `Category` (`name`, `parentId`)
INSERT IGNORE INTO `Category` (`name`, `parentId`)
SELECT 'Bakning', id FROM `Category` WHERE name = 'Skafferi' AND parentId IS NULL;
-- LEVEL 2 — under Övrigt
INSERT IGNORE INTO `Category` (`name`, `parentId`)
SELECT 'Frukt och grönt', id FROM `Category` WHERE name = 'Övrigt' AND parentId IS NULL;
INSERT IGNORE INTO `Category` (`name`, `parentId`)
SELECT 'Kött och fågel', id FROM `Category` WHERE name = 'Övrigt' AND parentId IS NULL;
INSERT IGNORE INTO `Category` (`name`, `parentId`)
SELECT 'Fisk', id FROM `Category` WHERE name = 'Övrigt' AND parentId IS NULL;
INSERT IGNORE INTO `Category` (`name`, `parentId`)
SELECT 'Mejeri', id FROM `Category` WHERE name = 'Övrigt' AND parentId IS NULL;
INSERT IGNORE INTO `Category` (`name`, `parentId`)
SELECT 'Fryst', id FROM `Category` WHERE name = 'Övrigt' AND parentId IS NULL;
INSERT IGNORE INTO `Category` (`name`, `parentId`)
SELECT 'Skafferi', id FROM `Category` WHERE name = 'Övrigt' AND parentId IS NULL;
INSERT IGNORE INTO `Category` (`name`, `parentId`)
SELECT 'Barn och Godis', id FROM `Category` WHERE name = 'Övrigt' AND parentId IS NULL;
INSERT IGNORE INTO `Category` (`name`, `parentId`)
SELECT 'Dryck', id FROM `Category` WHERE name = 'Övrigt' AND parentId IS NULL;
-- LEVEL 3 — under Bröd & Kakor > Knäckebröd & Skorpor
INSERT IGNORE INTO `Category` (`name`, `parentId`)
SELECT 'Knäckebröd', c2.id
@@ -470,6 +451,7 @@ UPDATE `Product` SET `categoryId` = (
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
@@ -478,6 +460,7 @@ UPDATE `Product` SET `categoryId` = (
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
@@ -485,6 +468,7 @@ 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
@@ -492,6 +476,7 @@ 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
@@ -500,6 +485,7 @@ UPDATE `Product` SET `categoryId` = (
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
@@ -508,6 +494,7 @@ UPDATE `Product` SET `categoryId` = (
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
@@ -516,6 +503,7 @@ UPDATE `Product` SET `categoryId` = (
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'
@@ -527,6 +515,7 @@ UPDATE `Product` SET `categoryId` = (
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
@@ -535,6 +524,7 @@ UPDATE `Product` SET `categoryId` = (
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
@@ -542,6 +532,7 @@ 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)
@@ -550,6 +541,7 @@ UPDATE `Product` SET `categoryId` = (
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',
@@ -561,6 +553,7 @@ 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
@@ -569,12 +562,14 @@ UPDATE `Product` SET `categoryId` = (
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
@@ -582,6 +577,7 @@ 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',
@@ -598,6 +594,7 @@ UPDATE `Product` SET `categoryId` = (
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é'
@@ -609,6 +606,7 @@ UPDATE `Product` SET `categoryId` = (
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
@@ -616,6 +614,7 @@ 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',
@@ -631,6 +630,7 @@ 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
@@ -639,6 +639,7 @@ UPDATE `Product` SET `categoryId` = (
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
@@ -646,6 +647,7 @@ 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
@@ -654,6 +656,7 @@ UPDATE `Product` SET `categoryId` = (
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
@@ -668,6 +671,7 @@ UPDATE `Product` SET `categoryId` = (
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
@@ -676,6 +680,7 @@ UPDATE `Product` SET `categoryId` = (
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
@@ -684,6 +689,7 @@ UPDATE `Product` SET `categoryId` = (
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
@@ -692,6 +698,7 @@ UPDATE `Product` SET `categoryId` = (
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
@@ -699,6 +706,7 @@ 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)
@@ -707,6 +715,7 @@ UPDATE `Product` SET `categoryId` = (
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',
@@ -725,6 +734,7 @@ UPDATE `Product` SET `categoryId` = (
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
@@ -733,6 +743,7 @@ UPDATE `Product` SET `categoryId` = (
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å)
@@ -740,6 +751,7 @@ 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
@@ -747,6 +759,7 @@ 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
@@ -754,6 +767,7 @@ 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