diff --git a/migrations/0209.sql b/migrations/0209.sql index e437a3e2..dc0e3166 100644 --- a/migrations/0209.sql +++ b/migrations/0209.sql @@ -85,3 +85,19 @@ SELECT FROM stock s JOIN products_view p ON s.product_id = p.id; + +CREATE TRIGGER default_qu_conversion AFTER INSERT ON products +BEGIN + /* + Automatically create a default (product specific 1 to 1) QU conversion when a product + with qu_stock != qu_purchase was created and when no default QU conversion applies + */ + + INSERT INTO quantity_unit_conversions + (from_qu_id, to_qu_id, factor, product_id) + SELECT p.qu_id_purchase, p.qu_id_stock, 1, p.id + FROM products p + WHERE p.id = NEW.id + AND p.qu_id_stock != qu_id_purchase + AND NOT EXISTS(SELECT 1 FROM quantity_unit_conversions_resolved WHERE product_id = p.id AND from_qu_id = p.qu_id_stock AND to_qu_id = p.qu_id_purchase); +END;