AppDbUpdater: Fix migration 10 to 11 by creating a new table
This commit is contained in:
@ -1,17 +1,33 @@
|
|||||||
-- schema version 10 to 11
|
-- schema version 10 to 11
|
||||||
|
|
||||||
-- Drop columns, if they exist...
|
CREATE TABLE payment_delivery_part_new (
|
||||||
ALTER TABLE payment_delivery_part DROP COLUMN price_1;
|
year INTEGER NOT NULL,
|
||||||
ALTER TABLE payment_delivery_part DROP COLUMN price_2;
|
did INTEGER NOT NULL,
|
||||||
ALTER TABLE payment_delivery_part DROP COLUMN price_3;
|
dpnr INTEGER NOT NULL,
|
||||||
ALTER TABLE payment_delivery_part DROP COLUMN price_4;
|
avnr INTEGER NOT NULL,
|
||||||
ALTER TABLE payment_delivery_part DROP COLUMN price_5;
|
|
||||||
ALTER TABLE payment_delivery_part DROP COLUMN price_6;
|
|
||||||
ALTER TABLE payment_delivery_part DROP COLUMN price_7;
|
|
||||||
ALTER TABLE payment_delivery_part DROP COLUMN price_8;
|
|
||||||
ALTER TABLE payment_delivery_part DROP COLUMN price_9;
|
|
||||||
|
|
||||||
DROP TRIGGER t_payment_delivery_part_i;
|
net_amount INTEGER NOT NULL,
|
||||||
|
mod_abs INTEGER NOT NULL DEFAULT 0,
|
||||||
|
mod_rel REAL NOT NULL DEFAULT 0,
|
||||||
|
amount INTEGER NOT NULL GENERATED ALWAYS AS (ROUND(net_amount * (1 + mod_rel) + mod_abs)) STORED,
|
||||||
|
|
||||||
|
CONSTRAINT pk_payment_delivery_part PRIMARY KEY (year, did, dpnr, avnr),
|
||||||
|
CONSTRAINT fk_payment_delivery_part_delivery_part FOREIGN KEY (year, did, dpnr) REFERENCES delivery_part (year, did, dpnr)
|
||||||
|
ON UPDATE CASCADE
|
||||||
|
ON DELETE CASCADE,
|
||||||
|
CONSTRAINT fk_payment_delivery_part_payment_variant FOREIGN KEY (year, avnr) REFERENCES payment_variant (year, avnr)
|
||||||
|
ON UPDATE CASCADE
|
||||||
|
ON DELETE CASCADE
|
||||||
|
) STRICT;
|
||||||
|
INSERT INTO payment_delivery_part_new (year, did, dpnr, avnr, net_amount, mod_abs, mod_rel)
|
||||||
|
SELECT year, did, dpnr, avnr, net_amount, mod_abs, mod_rel
|
||||||
|
FROM payment_delivery_part;
|
||||||
|
PRAGMA writable_schema = ON;
|
||||||
|
DROP TABLE payment_delivery_part;
|
||||||
|
ALTER TABLE payment_delivery_part_new RENAME TO payment_delivery_part;
|
||||||
|
PRAGMA writable_schema = OFF;
|
||||||
|
|
||||||
|
DROP TRIGGER IF EXISTS t_payment_delivery_part_i;
|
||||||
CREATE TRIGGER t_payment_delivery_part_i
|
CREATE TRIGGER t_payment_delivery_part_i
|
||||||
AFTER INSERT ON payment_delivery_part FOR EACH ROW
|
AFTER INSERT ON payment_delivery_part FOR EACH ROW
|
||||||
BEGIN
|
BEGIN
|
||||||
@ -20,7 +36,7 @@ BEGIN
|
|||||||
ON CONFLICT DO UPDATE SET net_amount = net_amount + excluded.net_amount;
|
ON CONFLICT DO UPDATE SET net_amount = net_amount + excluded.net_amount;
|
||||||
END;
|
END;
|
||||||
|
|
||||||
DROP TRIGGER t_payment_delivery_part_u;
|
DROP TRIGGER IF EXISTS t_payment_delivery_part_u;
|
||||||
CREATE TRIGGER t_payment_delivery_part_u
|
CREATE TRIGGER t_payment_delivery_part_u
|
||||||
AFTER UPDATE ON payment_delivery_part FOR EACH ROW
|
AFTER UPDATE ON payment_delivery_part FOR EACH ROW
|
||||||
BEGIN
|
BEGIN
|
||||||
@ -32,7 +48,7 @@ BEGIN
|
|||||||
ON CONFLICT DO UPDATE SET net_amount = net_amount + excluded.net_amount;
|
ON CONFLICT DO UPDATE SET net_amount = net_amount + excluded.net_amount;
|
||||||
END;
|
END;
|
||||||
|
|
||||||
DROP TRIGGER t_payment_delivery_part_d;
|
DROP TRIGGER IF EXISTS t_payment_delivery_part_d;
|
||||||
CREATE TRIGGER t_payment_delivery_part_d
|
CREATE TRIGGER t_payment_delivery_part_d
|
||||||
AFTER DELETE ON payment_delivery_part FOR EACH ROW
|
AFTER DELETE ON payment_delivery_part FOR EACH ROW
|
||||||
BEGIN
|
BEGIN
|
||||||
@ -41,7 +57,7 @@ BEGIN
|
|||||||
WHERE (year, avnr, mgnr) IN (SELECT year, OLD.avnr, mgnr FROM delivery WHERE (year, did) = (OLD.year, OLD.did));
|
WHERE (year, avnr, mgnr) IN (SELECT year, OLD.avnr, mgnr FROM delivery WHERE (year, did) = (OLD.year, OLD.did));
|
||||||
END;
|
END;
|
||||||
|
|
||||||
DROP TRIGGER t_payment_delivery_part_bucket_u;
|
DROP TRIGGER IF EXISTS t_payment_delivery_part_bucket_u;
|
||||||
CREATE TRIGGER t_payment_delivery_part_bucket_u
|
CREATE TRIGGER t_payment_delivery_part_bucket_u
|
||||||
AFTER UPDATE ON payment_delivery_part_bucket FOR EACH ROW
|
AFTER UPDATE ON payment_delivery_part_bucket FOR EACH ROW
|
||||||
BEGIN
|
BEGIN
|
||||||
|
Reference in New Issue
Block a user