diff --git a/migrations/0202.sql b/migrations/0202.sql new file mode 100644 index 00000000..27a6ec73 --- /dev/null +++ b/migrations/0202.sql @@ -0,0 +1,25 @@ +DROP TRIGGER recipes_pos_qu_id_default; +CREATE TRIGGER recipes_pos_qu_id_default AFTER INSERT ON recipes_pos +BEGIN + UPDATE recipes_pos + SET qu_id = (SELECT qu_id_stock FROM products where id = product_id) + WHERE id = NEW.id + AND IFNULL(qu_id, '') = ''; + + SELECT CASE WHEN(( + SELECT 1 + FROM recipes_pos rp + JOIN quantity_unit_conversions_resolved qucr + ON qucr.product_id = rp.product_id + AND qucr.to_qu_id = rp.qu_id + WHERE rp.id = NEW.id + + UNION + + -- only_check_single_unit_in_stock = 1 ingredients can have any QU + SELECT 1 + FROM recipes_pos rp + WHERE rp.id = NEW.id + AND IFNULL(rp.only_check_single_unit_in_stock, 0) = 1 + ) ISNULL) THEN RAISE(ABORT, "Provided qu_id doesn't have a related conversion for that product") END; +END;