diff options
author | mkanat%bugzilla.org <> | 2009-12-31 13:48:21 +0100 |
---|---|---|
committer | mkanat%bugzilla.org <> | 2009-12-31 13:48:21 +0100 |
commit | 1a4a843db26f6c3c208fa5dfdca7933b7cb76db2 (patch) | |
tree | 6a5766dc9b7c6cd5a06eb80eb8043714da6af5da /Bugzilla/Install | |
parent | 958e1a758168b4908bcdd237518ab85b93d7e1bb (diff) | |
download | bugzilla-1a4a843db26f6c3c208fa5dfdca7933b7cb76db2.tar.gz bugzilla-1a4a843db26f6c3c208fa5dfdca7933b7cb76db2.tar.xz |
Bug 520318: Add remove_from_db to Bugzilla:Group and use it to delete groups in editgroups.cgi
Patch by Max Kanat-Alexander <mkanat@bugzilla.org> r=dkl, a=LpSolit
Diffstat (limited to 'Bugzilla/Install')
-rw-r--r-- | Bugzilla/Install/DB.pm | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/Bugzilla/Install/DB.pm b/Bugzilla/Install/DB.pm index adbcb285f..7a9fa72d8 100644 --- a/Bugzilla/Install/DB.pm +++ b/Bugzilla/Install/DB.pm @@ -594,6 +594,8 @@ sub update_table_definitions { _add_allows_unconfirmed_to_product_table(); + _convert_flagtypes_fks_to_set_null(); + ################################################################ # New --TABLE-- changes should go *** A B O V E *** this point # ################################################################ @@ -3340,6 +3342,18 @@ sub _add_allows_unconfirmed_to_product_table { } } +sub _convert_flagtypes_fks_to_set_null { + my $dbh = Bugzilla->dbh; + foreach my $column (qw(request_group_id grant_group_id)) { + my $fk = $dbh->bz_fk_info('flagtypes', $column); + if ($fk and !defined $fk->{DELETE}) { + # checksetup will re-create the FK with the appropriate definition + # at the end of its table upgrades, so we just drop it here. + $dbh->bz_drop_fk('flagtypes', $column); + } + } +} + 1; __END__ |