65bea3f7d0
This will act as a cache, otherwise we would need to load the `term_agreements` for a user on each request. Using this field the result we're interested in is loaded when the current user is loaded, without causing an extra query.
23 lines
617 B
Ruby
23 lines
617 B
Ruby
# See http://doc.gitlab.com/ce/development/migration_style_guide.html
|
|
# for more information on how to write migrations for GitLab.
|
|
|
|
class AddAcceptedTermToUsers < ActiveRecord::Migration
|
|
include Gitlab::Database::MigrationHelpers
|
|
|
|
DOWNTIME = false
|
|
|
|
disable_ddl_transaction!
|
|
|
|
def up
|
|
change_table :users do |t|
|
|
t.references :accepted_term,
|
|
null: true
|
|
end
|
|
add_concurrent_foreign_key :users, :application_setting_terms, column: :accepted_term_id
|
|
end
|
|
|
|
def down
|
|
remove_foreign_key :users, column: :accepted_term_id
|
|
remove_column :users, :accepted_term_id
|
|
end
|
|
end
|