-- Preserve legacy item-to-inventory links as audit snapshots, without transferring them to equipment.
INSERT INTO AuditLog (id, action, entityType, entityId, `before`, `after`)
SELECT CONCAT('detach', LEFT(SHA2(id,256),24)), 'DETACH_ITEM_INVENTORY', 'PartAssignment', id,
 JSON_OBJECT('itemId',itemId,'equipmentId',equipmentId,'partId',partId,'requiredQuantity',requiredQuantity),
 JSON_OBJECT('reason','Pilot Plant items are independent from inventory parts')
FROM part_assignment WHERE itemId IS NOT NULL;
DELETE FROM part_assignment WHERE itemId IS NOT NULL AND equipmentId IS NULL;
ALTER TABLE part_assignment DROP FOREIGN KEY part_assignment_itemId_fkey;
ALTER TABLE part_assignment DROP INDEX part_assignment_itemId_partId_key, DROP COLUMN itemId;
