summaryrefslogtreecommitdiffstats
path: root/Bugzilla/DB.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Bugzilla/DB.pm')
-rw-r--r--Bugzilla/DB.pm14
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 {