30 lines
851 B
SQL
30 lines
851 B
SQL
-- +goose Up
|
|||
|
|
ALTER TABLE freight_order_items
|
||
|
|
ADD COLUMN original_unit_price_minor INTEGER
|
||
|
|
CHECK (original_unit_price_minor IS NULL OR original_unit_price_minor >= 0);
|
||
|
|
|
||
|
|
ALTER TABLE freight_order_items
|
||
|
|
ADD COLUMN original_currency TEXT NOT NULL DEFAULT 'TWD'
|
||
|
|
CHECK (original_currency = 'TWD');
|
||
|
|
|
||
|
|
-- +goose Down
|
||
|
|
CREATE TEMP TABLE freight_item_metadata_v15_down_guard (
|
||
|
|
allowed INTEGER NOT NULL CHECK (allowed = 1)
|
||
|
|
);
|
||
|
|
|
||
|
|
INSERT INTO freight_item_metadata_v15_down_guard (allowed)
|
||
|
|
SELECT CASE
|
||
|
|
WHEN EXISTS (
|
||
|
|
SELECT 1
|
||
|
|
FROM freight_order_items
|
||
|
|
WHERE original_unit_price_minor IS NOT NULL
|
||
|
|
)
|
||
|
|
THEN 0
|
||
|
|
ELSE 1
|
||
|
|
END;
|
||
|
|
|
||
|
|
DROP TABLE freight_item_metadata_v15_down_guard;
|
||
|
|
|
||
|
|
ALTER TABLE freight_order_items DROP COLUMN original_currency;
|
||
|
|
ALTER TABLE freight_order_items DROP COLUMN original_unit_price_minor;
|