-- 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);