add achievement management
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
class CreateWowAchievementCategories < ActiveRecord::Migration[6.1]
|
||||
def change
|
||||
create_table :wow_achievement_categories do |t|
|
||||
t.integer :category_id, null: false
|
||||
t.jsonb :name
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
|
||||
add_index :wow_achievement_categories, :category_id, unique: true
|
||||
end
|
||||
end
|
||||
13
db/migrate/20210814100232_create_wow_achievement_criteria.rb
Normal file
13
db/migrate/20210814100232_create_wow_achievement_criteria.rb
Normal file
@@ -0,0 +1,13 @@
|
||||
class CreateWowAchievementCriteria < ActiveRecord::Migration[6.1]
|
||||
def change
|
||||
create_table :wow_achievement_criteria do |t|
|
||||
t.integer :criterium_id, null: false
|
||||
t.jsonb :description
|
||||
t.integer :amount
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
|
||||
add_index :wow_achievement_criteria, :criterium_id, unique: true
|
||||
end
|
||||
end
|
||||
21
db/migrate/20210814100509_create_wow_achievements.rb
Normal file
21
db/migrate/20210814100509_create_wow_achievements.rb
Normal file
@@ -0,0 +1,21 @@
|
||||
class CreateWowAchievements < ActiveRecord::Migration[6.1]
|
||||
def change
|
||||
create_table :wow_achievements do |t|
|
||||
t.integer :achievement_id, null: false
|
||||
t.jsonb :name
|
||||
t.jsonb :description
|
||||
t.integer :points
|
||||
t.boolean :is_account_wide
|
||||
t.integer :display_order
|
||||
t.string :icon
|
||||
t.belongs_to :wow_achievement_category
|
||||
t.belongs_to :wow_achievement_criterium
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
|
||||
add_index :wow_achievements, :achievement_id, unique: true
|
||||
|
||||
add_reference :wow_achievements, :prerequisite_achievement, foreign_key: { to_table: :wow_achievements }
|
||||
end
|
||||
end
|
||||
5
db/migrate/20210815101616_add_wow_criterium_self_join.rb
Normal file
5
db/migrate/20210815101616_add_wow_criterium_self_join.rb
Normal file
@@ -0,0 +1,5 @@
|
||||
class AddWowCriteriumSelfJoin < ActiveRecord::Migration[6.1]
|
||||
def change
|
||||
add_reference :wow_achievement_criteria, :parent_criterium, foreign_key: { to_table: :wow_achievement_criteria }
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,6 @@
|
||||
class AddOperatorToWowCriterium < ActiveRecord::Migration[6.1]
|
||||
def change
|
||||
add_column :wow_achievement_criteria, :operator_name, :jsonb
|
||||
add_column :wow_achievement_criteria, :operator_type, :string
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,5 @@
|
||||
class AddRewardDescriptionToWowAchievement < ActiveRecord::Migration[6.1]
|
||||
def change
|
||||
add_column :wow_achievements, :reward_description, :jsonb
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,11 @@
|
||||
class CreateCompletedWowAchievements < ActiveRecord::Migration[6.1]
|
||||
def change
|
||||
create_table :completed_wow_achievements do |t|
|
||||
t.datetime :completed_timestamp
|
||||
t.belongs_to :wow_character
|
||||
t.belongs_to :wow_achievement
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,13 @@
|
||||
class CreateCompletedWowAchievementCriteria < ActiveRecord::Migration[6.1]
|
||||
def change
|
||||
create_table :completed_wow_achievement_criteria do |t|
|
||||
t.integer :amount
|
||||
t.boolean :is_completed
|
||||
t.belongs_to :wow_character
|
||||
t.bigint "wow_achievement_criterium_id"
|
||||
t.index ["wow_achievement_criterium_id"], name: "completed_achievement_criteria_on_achievement_criterium_id"
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user