-- Apply once to databases created before inbound/outbound display fields existed. -- Existing documents receive a stable number derived from their primary key; -- their operator and remark remain NULL because that historical data was never recorded. ALTER TABLE inbound_orders ADD COLUMN inbound_no VARCHAR(32) NULL UNIQUE AFTER location_id, ADD COLUMN operator VARCHAR(100) NULL AFTER inbound_no, ADD COLUMN remark TEXT NULL AFTER supplier; UPDATE inbound_orders SET inbound_no = CONCAT('IN-', LPAD(id, 8, '0')) WHERE inbound_no IS NULL; ALTER TABLE outbound_orders ADD COLUMN outbound_no VARCHAR(32) NULL UNIQUE AFTER location_id, ADD COLUMN operator VARCHAR(100) NULL AFTER outbound_no, ADD COLUMN remark TEXT NULL AFTER receiver; UPDATE outbound_orders SET outbound_no = CONCAT('OUT-', LPAD(id, 8, '0')) WHERE outbound_no IS NULL;