diff options
author | mkanat%bugzilla.org <> | 2008-06-29 02:17:47 +0200 |
---|---|---|
committer | mkanat%bugzilla.org <> | 2008-06-29 02:17:47 +0200 |
commit | 66146a6e56c9a23cad32a6cbf897018372c07e80 (patch) | |
tree | 3c29f5ae9484ccfae1d150ab048e47ffe1ca9dff /Bugzilla/DB.pm | |
parent | a6f41ad1a4ff69fd050ba4a3e9e7c3fa8033de51 (diff) | |
download | bugzilla-66146a6e56c9a23cad32a6cbf897018372c07e80.tar.gz bugzilla-66146a6e56c9a23cad32a6cbf897018372c07e80.tar.xz |
Bug 429804: Add Foreign Keys to Multiselect fields
Patch By Alex Eiser <aeiser@arc.nasa.gov> r=mkanat, a=mkanat
Diffstat (limited to 'Bugzilla/DB.pm')
-rw-r--r-- | Bugzilla/DB.pm | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/Bugzilla/DB.pm b/Bugzilla/DB.pm index 2eba30482..9d4f41546 100644 --- a/Bugzilla/DB.pm +++ b/Bugzilla/DB.pm @@ -674,11 +674,17 @@ sub bz_add_field_tables { $self->_bz_add_field_table($field->name, $self->_bz_schema->FIELD_TABLE_SCHEMA); - if ( $field->type == FIELD_TYPE_MULTI_SELECT ) { - $self->_bz_add_field_table('bug_' . $field->name, - $self->_bz_schema->MULTI_SELECT_VALUE_TABLE); + if ($field->type == FIELD_TYPE_MULTI_SELECT) { + my $ms_table = "bug_" . $field->name; + $self->_bz_add_field_table($ms_table, + $self->_bz_schema->MULTI_SELECT_VALUE_TABLE); + + $self->bz_add_fk($ms_table, 'bug_id', {TABLE => 'bugs', + COLUMN => 'bug_id', + DELETE => 'CASCADE'}); + $self->bz_add_fk($ms_table, 'value', {TABLE => $field->name, + COLUMN => 'value'}); } - } sub bz_drop_field_tables { |