Files
website-secure/scripts/009-fix-packing-lists-schema.sql
T
2026-06-01 15:36:16 +01:00

26 lines
1.0 KiB
SQL

-- Drop the old packing_lists table and recreate with correct schema
DROP TABLE IF EXISTS packing_list_serials CASCADE;
DROP TABLE IF EXISTS packing_lists CASCADE;
CREATE TABLE packing_lists (
id SERIAL PRIMARY KEY,
purchase_order_id INTEGER NOT NULL REFERENCES purchase_orders(id),
po_item_id INTEGER NOT NULL REFERENCES purchase_order_items(id),
packing_number VARCHAR(50) NOT NULL UNIQUE,
quantity INTEGER NOT NULL DEFAULT 0,
notes TEXT,
created_at TIMESTAMPTZ DEFAULT NOW()
);
CREATE TABLE packing_list_serials (
id SERIAL PRIMARY KEY,
packing_list_id INTEGER NOT NULL REFERENCES packing_lists(id) ON DELETE CASCADE,
serial_number VARCHAR(200) NOT NULL,
created_at TIMESTAMPTZ DEFAULT NOW()
);
CREATE INDEX idx_packing_lists_po ON packing_lists(purchase_order_id);
CREATE INDEX idx_packing_lists_item ON packing_lists(po_item_id);
CREATE INDEX idx_packing_serials_list ON packing_list_serials(packing_list_id);
CREATE UNIQUE INDEX idx_packing_serials_unique ON packing_list_serials(serial_number);