From c9990cbe114870cb366325e3372c1784c7eb9a0a Mon Sep 17 00:00:00 2001 From: Dave Lawrence Date: Fri, 16 Dec 2011 14:24:12 -0500 Subject: Bug 685611 - delta_ts is updated even when no changes are made to bugs created via WebServices r/a=LpSolit --- Bugzilla/Install/DB.pm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'Bugzilla/Install') diff --git a/Bugzilla/Install/DB.pm b/Bugzilla/Install/DB.pm index b9f5d112d..ae7ad581d 100644 --- a/Bugzilla/Install/DB.pm +++ b/Bugzilla/Install/DB.pm @@ -29,6 +29,7 @@ use Bugzilla::Install::Util qw(indicate_progress install_string); use Bugzilla::Util; use Bugzilla::Series; use Bugzilla::BugUrl; +use Bugzilla::Field; use Date::Parse; use Date::Format; @@ -663,6 +664,9 @@ sub update_table_definitions { $dbh->bz_alter_column('attachments', 'filename', { TYPE => 'varchar(255)', NOTNULL => 1 }); + # 2011-11-28 dkl@mozilla.com - Bug 685611 + _fix_notnull_defaults(); + ################################################################ # New --TABLE-- changes should go *** A B O V E *** this point # ################################################################ @@ -3618,6 +3622,31 @@ sub _on_delete_set_null_for_audit_log_userid { } } +sub _fix_notnull_defaults { + my $dbh = Bugzilla->dbh; + + $dbh->bz_alter_column('bugs', 'bug_file_loc', + {TYPE => 'MEDIUMTEXT', NOTNULL => 1, + DEFAULT => "''"}, ''); + + my $custom_fields = Bugzilla::Field->match({ + custom => 1, type => [ FIELD_TYPE_FREETEXT, FIELD_TYPE_TEXTAREA ] + }); + + foreach my $field (@$custom_fields) { + if ($field->type == FIELD_TYPE_FREETEXT) { + $dbh->bz_alter_column('bugs', $field->name, + {TYPE => 'varchar(255)', NOTNULL => 1, + DEFAULT => "''"}, ''); + } + if ($field->type == FIELD_TYPE_TEXTAREA) { + $dbh->bz_alter_column('bugs', $field->name, + {TYPE => 'MEDIUMTEXT', NOTNULL => 1, + DEFAULT => "''"}, ''); + } + } +} + 1; __END__ -- cgit v1.2.3-24-g4f1b