summaryrefslogtreecommitdiff
path: root/db/migrate/20151209145909_migrate_ci_emails.rb
blob: 964dde841add4940b478a2c39b4570ecd5736f93 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class MigrateCiEmails < ActiveRecord::Migration
  include Gitlab::Database

  def up
    # This inserts a new service: BuildsEmailService
    # It also "manually" constructs the properties (JSON-encoded)
    # Migrating all ci_projects e-mail related columns
    execute(
      'INSERT INTO services (project_id, type, created_at, updated_at, active, push_events, issues_events, merge_requests_events, tag_push_events, note_events, build_events, properties) ' \
      "SELECT projects.id, 'BuildsEmailService', ci_services.created_at, ci_services.updated_at, #{true_value}, #{false_value}, #{false_value}, #{false_value}, #{false_value}, #{false_value}, #{true_value}, " \
      "CONCAT('{\"notify_only_broken_builds\":\"', ci_projects.email_only_broken_builds, " \
      "'\",\"add_pusher\":\"', ci_projects.email_add_pusher, '\",\"recipients\":\"', ci_projects.email_recipients, '\"}') " \
      'FROM ci_services ' \
      'JOIN ci_projects ON ci_services.project_id = ci_projects.id ' \
      'JOIN projects ON ci_projects.gitlab_id = projects.id ' \
      "WHERE ci_services.type = 'Ci::MailService' AND ci_services.active"
    )
  end

  def down
  end
end