grocy/migrations/0046.sql

39 lines
733 B
SQL

ALTER TABLE stock
ADD opened_date DATETIME;
ALTER TABLE stock_log
ADD opened_date DATETIME;
ALTER TABLE stock
ADD open TINYINT NOT NULL DEFAULT 0 CHECK(open IN (0, 1));
UPDATE stock
SET open = 0;
ALTER TABLE products
ADD default_best_before_days_after_open INTEGER NOT NULL DEFAULT 0;
UPDATE products
SET default_best_before_days_after_open = 0;
DROP VIEW stock_current;
CREATE VIEW stock_current
AS
SELECT
s.product_id,
SUM(s.amount) AS amount,
MIN(s.best_before_date) AS best_before_date,
IFNULL((SELECT SUM(amount) FROM stock WHERE product_id = s.product_id AND open = 1), 0) AS amount_opened
FROM stock s
GROUP BY s.product_id
UNION
SELECT
id,
0,
null,
0
FROM stock_missing_products
WHERE is_partly_in_stock = 0;