add achievement management

This commit is contained in:
2021-08-15 16:45:49 +02:00
parent 2552a78d15
commit 39ebeea387
27 changed files with 435 additions and 26 deletions

View File

@@ -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

View 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

View 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

View 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

View File

@@ -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

View File

@@ -0,0 +1,5 @@
class AddRewardDescriptionToWowAchievement < ActiveRecord::Migration[6.1]
def change
add_column :wow_achievements, :reward_description, :jsonb
end
end

View File

@@ -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

View File

@@ -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