X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=maintenance%2Foracle%2FalterSharedConstraints.php;h=eea6f7b1fdef9a6313159e5692ce2f818e7628ec;hb=0525f22b8825c617fffa98f191ab07e8113da085;hp=435625d5b8bef6dbdb572ecf8bc6951daae3e059;hpb=0898fa993ca5d51e11adaf4dc57e3ef757bc8c69;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/oracle/alterSharedConstraints.php b/maintenance/oracle/alterSharedConstraints.php index 435625d5b8..eea6f7b1fd 100644 --- a/maintenance/oracle/alterSharedConstraints.php +++ b/maintenance/oracle/alterSharedConstraints.php @@ -44,6 +44,7 @@ class AlterSharedConstraints extends Maintenance { if ( $wgSharedDB == null ) { $this->output( "Database sharing is not enabled\n" ); + return; } @@ -56,35 +57,38 @@ class AlterSharedConstraints extends Maintenance { $ltable = "{$wgDBprefix}{$stable}"; } - $result = $dbw->query( "SELECT uc.constraint_name, uc.table_name, ucc.column_name, uccpk.table_name pk_table_name, uccpk.column_name pk_column_name, uc.delete_rule, uc.deferrable, uc.deferred - FROM user_constraints uc, user_cons_columns ucc, user_cons_columns uccpk - WHERE uc.constraint_type = 'R' - AND ucc.constraint_name = uc.constraint_name - AND uccpk.constraint_name = uc.r_constraint_name - AND uccpk.table_name = '$ltable'" ); + $result = $dbw->query( "SELECT uc.constraint_name, uc.table_name, ucc.column_name, + uccpk.table_name pk_table_name, uccpk.column_name pk_column_name, + uc.delete_rule, uc.deferrable, uc.deferred + FROM user_constraints uc, user_cons_columns ucc, user_cons_columns uccpk + WHERE uc.constraint_type = 'R' + AND ucc.constraint_name = uc.constraint_name + AND uccpk.constraint_name = uc.r_constraint_name + AND uccpk.table_name = '$ltable'" ); while ( ( $row = $result->fetchRow() ) !== false ) { - $this->output( "Altering {$row['constraint_name']} ..." ); + $this->output( "Altering {$row['constraint_name']} ..." ); - try { - $dbw->query( "ALTER TABLE {$row['table_name']} DROP CONSTRAINT {$wgDBprefix}{$row['constraint_name']}" ); - } catch ( DBQueryError $exdb ) { - if ( $exdb->errno != 2443 ) { - throw $exdb; - } + try { + $dbw->query( "ALTER TABLE {$row['table_name']} + DROP CONSTRAINT {$wgDBprefix}{$row['constraint_name']}" ); + } catch ( DBQueryError $exdb ) { + if ( $exdb->errno != 2443 ) { + throw $exdb; } + } - $deleteRule = $row['delete_rule'] == 'NO ACTION' ? '' : "ON DELETE {$row['delete_rule']}"; - $dbw->query( "ALTER TABLE {$row['table_name']} ADD CONSTRAINT {$wgDBprefix}{$row['constraint_name']} + $deleteRule = $row['delete_rule'] == 'NO ACTION' ? '' : "ON DELETE {$row['delete_rule']}"; + $dbw->query( "ALTER TABLE {$row['table_name']} + ADD CONSTRAINT {$wgDBprefix}{$row['constraint_name']} FOREIGN KEY ({$row['column_name']}) REFERENCES {$wgSharedDB}.$stable({$row['pk_column_name']}) {$deleteRule} {$row['deferrable']} INITIALLY {$row['deferred']}" ); - $this->output( "DONE\n" ); + $this->output( "DONE\n" ); } } } - } $maintClass = "AlterSharedConstraints";