mirror of
https://github.com/grocy/grocy.git
synced 2025-04-29 09:39:57 +00:00
54 lines
1.4 KiB
SQL
54 lines
1.4 KiB
SQL
CREATE TRIGGER enforce_min_stock_amount_for_cumulated_childs_INS AFTER INSERT ON products
|
|
BEGIN
|
|
/*
|
|
When a parent product has cumulate_min_stock_amount_of_sub_products enabled,
|
|
the child should not have any min_stock_amount
|
|
*/
|
|
|
|
UPDATE products
|
|
SET min_stock_amount = 0
|
|
WHERE id IN (
|
|
SELECT
|
|
p_child.id
|
|
FROM products p_parent
|
|
JOIN products p_child
|
|
ON p_child.parent_product_id = p_parent.id
|
|
WHERE p_parent.id = NEW.id
|
|
AND IFNULL(p_parent.cumulate_min_stock_amount_of_sub_products, 0) = 1
|
|
)
|
|
AND min_stock_amount > 0;
|
|
END;
|
|
|
|
CREATE TRIGGER enforce_min_stock_amount_for_cumulated_childs_UPD AFTER UPDATE ON products
|
|
BEGIN
|
|
/*
|
|
When a parent product has cumulate_min_stock_amount_of_sub_products enabled,
|
|
the child should not have any min_stock_amount
|
|
*/
|
|
|
|
UPDATE products
|
|
SET min_stock_amount = 0
|
|
WHERE id IN (
|
|
SELECT
|
|
p_child.id
|
|
FROM products p_parent
|
|
JOIN products p_child
|
|
ON p_child.parent_product_id = p_parent.id
|
|
WHERE p_parent.id = NEW.id
|
|
AND IFNULL(p_parent.cumulate_min_stock_amount_of_sub_products, 0) = 1
|
|
)
|
|
AND min_stock_amount > 0;
|
|
END;
|
|
|
|
UPDATE products
|
|
SET min_stock_amount = 0
|
|
WHERE id IN (
|
|
SELECT
|
|
p_child.id
|
|
FROM products p_parent
|
|
JOIN products p_child
|
|
ON p_child.parent_product_id = p_parent.id
|
|
WHERE IFNULL(p_parent.cumulate_min_stock_amount_of_sub_products, 0) = 1
|
|
)
|
|
AND min_stock_amount > 0;
|