@@ -, +, @@ STAGE --- installer/data/mysql/atomicupdate/bug_30708.pl | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) --- a/installer/data/mysql/atomicupdate/bug_30708.pl +++ a/installer/data/mysql/atomicupdate/bug_30708.pl @@ -109,5 +109,21 @@ return { say $out "Added new table 'preservation_processing_attributes_items'"; } + unless ( column_exists('preservation_processing_attributes_items', 'processing_attribute_item_id') ) { + $dbh->do(q{ + ALTER TABLE preservation_processing_attributes_items + DROP CONSTRAINT `preservation_processing_attributes_items_ibfk_1`, + DROP CONSTRAINT `preservation_processing_attributes_items_ibfk_2`, + DROP PRIMARY KEY, + ADD COLUMN `processing_attribute_item_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'primary key', + ADD PRIMARY KEY(`processing_attribute_item_id`) + }); + $dbh->do(q{ + ALTER TABLE preservation_processing_attributes_items + ADD CONSTRAINT `preservation_processing_attributes_items_ibfk_1` FOREIGN KEY (`processing_attribute_id`) REFERENCES `preservation_processing_attributes` (`processing_attribute_id`) ON DELETE CASCADE ON UPDATE CASCADE, + ADD CONSTRAINT `preservation_processing_attributes_items_ibfk_2` FOREIGN KEY (`train_item_id`) REFERENCES `preservation_trains_items` (`train_item_id`) ON DELETE CASCADE ON UPDATE CASCADE + }); + } + }, }; --