Lines 9-17
if( CheckVersion( $DBversion ) ) {
Link Here
|
9 |
# Bug 17196 introduced a mismatch in foreign keys of deletedbiblio_metadata, so any key must be dropped |
9 |
# Bug 17196 introduced a mismatch in foreign keys of deletedbiblio_metadata, so any key must be dropped |
10 |
DropAllForeignKeys('deletedbiblio_metadata'); |
10 |
DropAllForeignKeys('deletedbiblio_metadata'); |
11 |
$dbh->do( "INSERT IGNORE INTO biblio SELECT *, timestamp AS deleted_at FROM deletedbiblio" ) or warn $DBI::errstr; |
11 |
$dbh->do( "INSERT IGNORE INTO biblio SELECT *, timestamp AS deleted_at FROM deletedbiblio" ) or warn $DBI::errstr; |
12 |
$dbh->do( "INSERT IGNORE INTO biblioitems SELECT *, timestamp AS deleted_at FROM deletedbiblioitems" ) or warn $DBI::errstr; |
12 |
# We also need to make sure foreign keys references are in place, as Mysql < 5.7 aborts on foreign key errors |
13 |
$dbh->do( "INSERT IGNORE INTO biblio_metadata SELECT *, timestamp AS deleted_at FROM deletedbiblio_metadata" ) or warn $DBI::errstr; |
13 |
$dbh->do( "INSERT IGNORE INTO biblioitems ( |
14 |
$dbh->do( "INSERT IGNORE INTO items SELECT *, timestamp AS deleted_at FROM deleteditems" ) or warn $DBI::errstr; |
14 |
SELECT *, timestamp AS deleted_at FROM deletedbiblioitems |
|
|
15 |
WHERE biblionumber IN (SELECT biblionumber FROM biblio) |
16 |
)" ) or warn $DBI::errstr; |
17 |
# biblio_metadata needs special handling since there is an extra autoincrement id that cannot be moved |
18 |
$dbh->do( "INSERT IGNORE INTO biblio_metadata (biblionumber, format, marcflavour, metadata, timestamp, deleted_at) ( |
19 |
SELECT biblionumber, format, marcflavour, metadata, timestamp, timestamp AS deleted_at FROM deletedbiblio_metadata |
20 |
WHERE biblionumber IN (SELECT biblionumber FROM biblio) |
21 |
)" ) or warn $DBI::errstr; |
22 |
$dbh->do( "INSERT IGNORE INTO items ( |
23 |
SELECT *, timestamp AS deleted_at FROM deleteditems |
24 |
WHERE biblioitemnumber IN (SELECT biblioitemnumber FROM biblioitems) |
25 |
AND homebranch IN (SELECT homebranch FROM branches) |
26 |
AND holdingbranch IN (SELECT holdingbranch FROM branches) |
27 |
AND biblionumber IN (SELECT biblionumber FROM biblio) |
28 |
)" ) or warn $DBI::errstr; |
15 |
|
29 |
|
16 |
# Check if any rows could not be moved, if so, rename table with underscore for checking, otherwise drop them |
30 |
# Check if any rows could not be moved, if so, rename table with underscore for checking, otherwise drop them |
17 |
{ |
31 |
{ |
18 |
- |
|
|