diff --git a/db/migrate/20230107121520_change_mastery_columns_to_jsonb.rb b/db/migrate/20230107121520_change_mastery_columns_to_jsonb.rb new file mode 100644 index 0000000..b8319cc --- /dev/null +++ b/db/migrate/20230107121520_change_mastery_columns_to_jsonb.rb @@ -0,0 +1,22 @@ +class ChangeMasteryColumnsToJsonb < ActiveRecord::Migration[7.0] + def change + # Remove old columns + remove_column :grid_characters, :ring_modifier1, :integer + remove_column :grid_characters, :ring_modifier2, :integer + remove_column :grid_characters, :ring_modifier3, :integer + remove_column :grid_characters, :ring_modifier4, :integer + remove_column :grid_characters, :ring_strength1, :integer + remove_column :grid_characters, :ring_strength2, :integer + remove_column :grid_characters, :ring_strength3, :integer + remove_column :grid_characters, :ring_strength4, :integer + remove_column :grid_characters, :earring_modifier, :integer + remove_column :grid_characters, :earring_strength, :integer + + # Add new columns + add_column :grid_characters, :ring1, :jsonb, default: { modifier: nil, strength: nil } + add_column :grid_characters, :ring2, :jsonb, default: { modifier: nil, strength: nil } + add_column :grid_characters, :ring3, :jsonb, default: { modifier: nil, strength: nil } + add_column :grid_characters, :ring4, :jsonb, default: { modifier: nil, strength: nil } + add_column :grid_characters, :earring, :jsonb, default: { modifier: nil, strength: nil } + end +end diff --git a/db/schema.rb b/db/schema.rb index 0b5c6cb..e6a1429 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.0].define(version: 2023_01_03_180458) do +ActiveRecord::Schema[7.0].define(version: 2023_01_07_121520) do # These are extensions that must be enabled in order to support this database enable_extension "btree_gin" enable_extension "pg_trgm" @@ -67,19 +67,14 @@ ActiveRecord::Schema[7.0].define(version: 2023_01_03_180458) do t.datetime "created_at", null: false t.datetime "updated_at", null: false t.boolean "perpetuity", default: false, null: false - t.integer "awakening_type", default: 0, null: false + t.integer "awakening_type", default: 1, null: false t.integer "awakening_level", default: 1, null: false t.integer "transcendence_step", default: 0, null: false - t.integer "ring_modifier1" - t.float "ring_strength1" - t.integer "ring_modifier2" - t.float "ring_strength2" - t.integer "ring_modifier3" - t.float "ring_strength3" - t.integer "ring_modifier4" - t.float "ring_strength4" - t.integer "earring_modifier" - t.float "earring_strength" + t.jsonb "ring1", default: {"modifier"=>nil, "strength"=>nil} + t.jsonb "ring2", default: {"modifier"=>nil, "strength"=>nil} + t.jsonb "ring3", default: {"modifier"=>nil, "strength"=>nil} + t.jsonb "ring4", default: {"modifier"=>nil, "strength"=>nil} + t.jsonb "earring", default: {"modifier"=>nil, "strength"=>nil} t.index ["character_id"], name: "index_grid_characters_on_character_id" t.index ["party_id"], name: "index_grid_characters_on_party_id" end