diff options
author | Douwe Maan <douwe@gitlab.com> | 2017-02-15 15:45:40 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2017-02-15 15:45:40 +0000 |
commit | cc0c2d18445a9115e87594c22cb47fcb1e8e5c41 (patch) | |
tree | a0e27c4337e3b6bfd3701fba0a98f40ade1e3eae /db | |
parent | 178b6014f856dbca1653961a1f8341d7d1d38d2f (diff) | |
parent | 4ca6a719a9f961efa8e9b2a9401319cbfc6403df (diff) | |
download | gitlab-ce-cc0c2d18445a9115e87594c22cb47fcb1e8e5c41.tar.gz |
Merge branch 'master' into 'zj-remove-deprecated-ci-service'zj-remove-deprecated-ci-service
# Conflicts:
# db/schema.rb
Diffstat (limited to 'db')
-rw-r--r-- | db/post_migrate/20170206040400_remove_inactive_default_email_services.rb | 41 | ||||
-rw-r--r-- | db/post_migrate/20170211073944_disable_invalid_service_templates.rb | 15 | ||||
-rw-r--r-- | db/schema.rb | 2 |
3 files changed, 57 insertions, 1 deletions
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 diff --git a/db/post_migrate/20170211073944_disable_invalid_service_templates.rb b/db/post_migrate/20170211073944_disable_invalid_service_templates.rb new file mode 100644 index 00000000000..84954b1ef64 --- /dev/null +++ b/db/post_migrate/20170211073944_disable_invalid_service_templates.rb @@ -0,0 +1,15 @@ +class DisableInvalidServiceTemplates < ActiveRecord::Migration + DOWNTIME = false + + unless defined?(Service) + class Service < ActiveRecord::Base + self.inheritance_column = nil + end + end + + def up + Service.where(template: true, active: true).each do |template| + template.update(active: false) unless template.valid? + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 4db9849e9c4..52672406ec6 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -1351,4 +1351,4 @@ ActiveRecord::Schema.define(version: 20170214111112) do add_foreign_key "timelogs", "merge_requests", name: "fk_timelogs_merge_requests_merge_request_id", on_delete: :cascade add_foreign_key "trending_projects", "projects", on_delete: :cascade add_foreign_key "u2f_registrations", "users" -end +end
\ No newline at end of file |