[bugzilla-gnome-org-upstream/4.4: 8/19] Bug 1082106: $dbh->bz_add_columns creates a foreign key constraint causing failure in checksetup.pl
- From: Krzesimir Nowak <krnowak src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [bugzilla-gnome-org-upstream/4.4: 8/19] Bug 1082106: $dbh->bz_add_columns creates a foreign key constraint causing failure in checksetup.pl
- Date: Sun, 25 Jan 2015 22:54:14 +0000 (UTC)
commit 16fa3bf67da86fb9e9826d1422a37b66c0f5ffab
Author: David Lawrence <dkl mozilla com>
Date: Tue Nov 4 19:21:11 2014 +0000
Bug 1082106: $dbh->bz_add_columns creates a foreign key constraint causing failure in checksetup.pl when
it tries to re-add it later
r=glob,a=glob
Bugzilla/DB.pm | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
---
diff --git a/Bugzilla/DB.pm b/Bugzilla/DB.pm
index cf828d7..248312e 100644
--- a/Bugzilla/DB.pm
+++ b/Bugzilla/DB.pm
@@ -577,8 +577,11 @@ sub bz_add_column {
my $current_def = $self->bz_column_info($table, $name);
if (!$current_def) {
+ # REFERENCES need to happen later and not be created right away
+ my $trimmed_def = dclone($new_def);
+ delete $trimmed_def->{REFERENCES};
my @statements = $self->_bz_real_schema->get_add_column_ddl(
- $table, $name, $new_def,
+ $table, $name, $trimmed_def,
defined $init_value ? $self->quote($init_value) : undef);
print get_text('install_column_add',
{ column => $name, table => $table }) . "\n"
@@ -592,14 +595,14 @@ sub bz_add_column {
# column exists there and has a REFERENCES item.
# bz_setup_foreign_keys will then add this FK at the end of
# Install::DB.
- my $col_abstract =
+ my $col_abstract =
$self->_bz_schema->get_column_abstract($table, $name);
if (exists $col_abstract->{REFERENCES}) {
my $new_fk = dclone($col_abstract->{REFERENCES});
$new_fk->{created} = 0;
$new_def->{REFERENCES} = $new_fk;
}
-
+
$self->_bz_real_schema->set_column($table, $name, $new_def);
$self->_bz_store_real_schema;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]