mirror of
https://github.com/grocy/grocy.git
synced 2025-09-16 17:56:51 +00:00
54 lines
1.4 KiB
MySQL
54 lines
1.4 KiB
MySQL
![]() |
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;
|