@@ -, +, @@ --- ...g_14237-add_course_items.biblionumber_column.perl | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) --- a/installer/data/mysql/atomicupdate/bug_14237-add_course_items.biblionumber_column.perl +++ a/installer/data/mysql/atomicupdate/bug_14237-add_course_items.biblionumber_column.perl @@ -1,7 +1,17 @@ $DBversion = 'XXX'; if( CheckVersion( $DBversion ) ){ unless( column_exists( 'course_items', 'biblionumber') ) { - $dbh->do(q{ ALTER TABLE course_items ADD `biblionumber` int(11) NOT NULL AFTER `itemnumber` }); + $dbh->do(q{ ALTER TABLE course_items ADD `biblionumber` int(11) AFTER `itemnumber` }); + + $dbh->do(q{ + UPDATE course_items + LEFT JOIN items ON items.itemnumber=course_items.itemnumber + SET course_items.biblionumber=items.biblionumber + WHERE items.itemnumber IS NOT NULL + }); + + $dbh->do(q{ ALTER TABLE course_items MODIFY COLUMN `biblionumber` INT(11) NOT NULL }); + $dbh->do(q{ ALTER TABLE course_items ADD CONSTRAINT `fk_course_items_biblionumber` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE }); $dbh->do(q{ ALTER TABLE course_items CHANGE `itemnumber` `itemnumber` int(11) DEFAULT NULL }); } --