View | Details | Raw Unified | Return to bug 27842
Collapse All | Expand All

(-)a/installer/data/mysql/updatedatabase.pl (-1 / +12 lines)
Lines 21721-21726 if( CheckVersion( $DBversion ) ) { Link Here
21721
21721
21722
    unless ( foreign_key_exists( 'serial', 'serial_ibfk_1' ) ) {
21722
    unless ( foreign_key_exists( 'serial', 'serial_ibfk_1' ) ) {
21723
        my $serials = $dbh->selectall_arrayref(q|
21723
        my $serials = $dbh->selectall_arrayref(q|
21724
            SELECT serialid FROM serial JOIN subscription USING (subscriptionid) WHERE serial.biblionumber != subscription.biblionumber
21725
        |, { Slice => {} });
21726
        if ( @$serials ) {
21727
            push @warnings, q|WARNING - The following serials will be updated, they were attached to a different biblionumber than their related subscription: | . join ", ", map { $_->{serialid} } @$serials;
21728
            $dbh->do(q|
21729
                UPDATE serial JOIN subscription USING (subcriptionid) SET serial.biblionumber = subscription.biblionumber WHERE serial.biblionumber != subscription.biblionumber
21730
            |);
21731
        }
21732
        $serials = $dbh->selectall_arrayref(q|
21724
            SELECT serialid FROM serial WHERE biblionumber NOT IN (SELECT biblionumber FROM biblio)
21733
            SELECT serialid FROM serial WHERE biblionumber NOT IN (SELECT biblionumber FROM biblio)
21725
        |, { Slice => {} });
21734
        |, { Slice => {} });
21726
        if ( @$serials ) {
21735
        if ( @$serials ) {
Lines 21764-21769 if( CheckVersion( $DBversion ) ) { Link Here
21764
21773
21765
    unless ( foreign_key_exists( 'subscriptionhistory', 'subscription_history_ibfk_1' ) ) {
21774
    unless ( foreign_key_exists( 'subscriptionhistory', 'subscription_history_ibfk_1' ) ) {
21766
        $dbh->do(q|
21775
        $dbh->do(q|
21776
            UPDATE subscriptionhistory JOIN subscription USING (subcriptionid) SET subscriptionhistory.biblionumber = subscription.biblionumber WHERE subscriptionhistory.biblionumber != subscription.biblionumber
21777
        |);
21778
        $dbh->do(q|
21767
            DELETE FROM subscriptionhistory WHERE biblionumber NOT IN (SELECT biblionumber FROM biblio)
21779
            DELETE FROM subscriptionhistory WHERE biblionumber NOT IN (SELECT biblionumber FROM biblio)
21768
        |);
21780
        |);
21769
        $dbh->do(q|
21781
        $dbh->do(q|
21770
- 

Return to bug 27842