1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# frozen_string_literal: true
class CreateUserAchievements < Gitlab::Database::Migration[2.1]
enable_lock_retries!
def up
create_table :user_achievements do |t|
t.references :achievement,
null: false,
index: false,
foreign_key: { on_delete: :cascade }
t.bigint :user_id,
null: false
t.bigint :awarded_by_user_id,
null: true
t.bigint :revoked_by_user_id,
index: true,
null: true
t.timestamps_with_timezone null: false
t.datetime_with_timezone :revoked_at, null: true
t.index 'achievement_id, (revoked_by_user_id IS NULL)',
name: 'index_user_achievements_on_achievement_id_revoked_by_is_null'
t.index 'user_id, (revoked_by_user_id IS NULL)',
name: 'index_user_achievements_on_user_id_revoked_by_is_null'
t.index 'awarded_by_user_id, (revoked_by_user_id IS NULL)',
name: 'index_user_achievements_on_awarded_by_revoked_by_is_null'
end
end
def down
drop_table :user_achievements
end
end
|