diff options
author | Lin Jen-Shin (godfat) <godfat@godfat.org> | 2017-02-14 15:54:54 +0000 |
---|---|---|
committer | Lin Jen-Shin (godfat) <godfat@godfat.org> | 2017-02-14 15:54:54 +0000 |
commit | 89b0079035a6fdc37918f5116c97054cbb35d22d (patch) | |
tree | c862790e37a8f0b99584532a4c3abb40cb4bf5c6 | |
parent | 9a0c1ffabcfc9d29e8cccd8d1e2162d6abbf9277 (diff) | |
parent | ca659822257f21f09d5b22660ba7ae39395d79e6 (diff) | |
download | gitlab-ce-89b0079035a6fdc37918f5116c97054cbb35d22d.tar.gz |
Merge branch 'remove-inactive-default-email-services' into 'master'
Remove inactive default email services
See merge request !8987
-rw-r--r-- | changelogs/unreleased/remove-inactive-default-email-services.yml | 4 | ||||
-rw-r--r-- | db/post_migrate/20170206040400_remove_inactive_default_email_services.rb | 41 |
2 files changed, 45 insertions, 0 deletions
diff --git a/changelogs/unreleased/remove-inactive-default-email-services.yml b/changelogs/unreleased/remove-inactive-default-email-services.yml new file mode 100644 index 00000000000..c32c1390e4e --- /dev/null +++ b/changelogs/unreleased/remove-inactive-default-email-services.yml @@ -0,0 +1,4 @@ +--- +title: Remove inactive default email services +merge_request: 8987 +author: diff --git a/db/post_migrate/20170206040400_remove_inactive_default_email_services.rb b/db/post_migrate/20170206040400_remove_inactive_default_email_services.rb new file mode 100644 index 00000000000..a8e63e8bc7d --- /dev/null +++ b/db/post_migrate/20170206040400_remove_inactive_default_email_services.rb @@ -0,0 +1,41 @@ +class RemoveInactiveDefaultEmailServices < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + disable_ddl_transaction! + + def up + Gitlab::Database.with_connection_pool(2) do |pool| + threads = [] + + threads << Thread.new do + pool.with_connection do |connection| + connection.execute <<-SQL.strip_heredoc + DELETE FROM services + WHERE type = 'BuildsEmailService' + AND active IS FALSE + AND properties = '{"notify_only_broken_builds":true}'; + SQL + end + end + + threads << Thread.new do + pool.with_connection do |connection| + connection.execute <<-SQL.strip_heredoc + DELETE FROM services + WHERE type = 'PipelinesEmailService' + AND active IS FALSE + AND properties = '{"notify_only_broken_pipelines":true}'; + SQL + end + end + + threads.each(&:join) + end + end + + def down + # Nothing can be done to restore the records + end +end |