PageRenderTime 23ms CodeModel.GetById 16ms app.highlight 5ms RepoModel.GetById 1ms app.codeStats 0ms

/db/post_migrate/20170206101030_validate_foreign_keys_on_timelogs.rb

https://gitlab.com/visay/gitlab-ce
Ruby | 32 lines | 15 code | 5 blank | 12 comment | 1 complexity | 02e89b36d5352e6ef76dec6201ed079d MD5 | raw file
 1# See http://doc.gitlab.com/ce/development/migration_style_guide.html
 2# for more information on how to write migrations for GitLab.
 3
 4class ValidateForeignKeysOnTimelogs < ActiveRecord::Migration
 5  include Gitlab::Database::MigrationHelpers
 6
 7  DOWNTIME = false
 8
 9  # When using the methods "add_concurrent_index" or "add_column_with_default"
10  # you must disable the use of transactions as these methods can not run in an
11  # existing transaction. When using "add_concurrent_index" make sure that this
12  # method is the _only_ method called in the migration, any other changes
13  # should go in a separate migration. This ensures that upon failure _only_ the
14  # index creation fails and can be retried or reverted easily.
15  #
16  # To disable transactions uncomment the following line and remove these
17  # comments:
18  disable_ddl_transaction!
19
20  def up
21    if Gitlab::Database.postgresql?
22      execute <<-EOF
23        ALTER TABLE timelogs VALIDATE CONSTRAINT "fk_timelogs_issues_issue_id";
24        ALTER TABLE timelogs VALIDATE CONSTRAINT "fk_timelogs_merge_requests_merge_request_id";
25      EOF
26    end
27  end
28
29  def down
30    # noop
31  end
32end