diff --git a/db/migrate/20230321115930_add_default_to_counter_cache_on_parties.rb b/db/migrate/20230321115930_add_default_to_counter_cache_on_parties.rb new file mode 100644 index 0000000..098c054 --- /dev/null +++ b/db/migrate/20230321115930_add_default_to_counter_cache_on_parties.rb @@ -0,0 +1,7 @@ +class AddDefaultToCounterCacheOnParties < ActiveRecord::Migration[7.0] + def change + change_column_default :parties, :characters_count, 0 + change_column_default :parties, :weapons_count, 0 + change_column_default :parties, :summons_count, 0 + end +end diff --git a/db/schema.rb b/db/schema.rb index 6095c45..b0dc946 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,19 +10,62 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.0].define(version: 2023_03_15_103037) do +ActiveRecord::Schema[7.0].define(version: 2023_03_21_115930) do # These are extensions that must be enabled in order to support this database enable_extension "btree_gin" enable_extension "pg_trgm" enable_extension "pgcrypto" enable_extension "plpgsql" - enable_extension "timescaledb" create_table "app_updates", primary_key: "updated_at", id: :datetime, force: :cascade do |t| t.string "update_type", null: false t.string "version" end + create_table "character_charge_attacks", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| + t.uuid "character_id" + t.string "name_en", null: false + t.string "name_jp", null: false + t.string "description_en", null: false + t.string "description_jp", null: false + t.integer "order", null: false + t.string "form" + t.uuid "effects", array: true + t.index ["character_id"], name: "index_character_charge_attacks_on_character_id" + end + + create_table "character_skills", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| + t.uuid "character_id" + t.string "name_en", null: false + t.string "name_jp", null: false + t.string "description_en", null: false + t.string "description_jp", null: false + t.integer "type", null: false + t.integer "position", null: false + t.string "form" + t.integer "cooldown", default: 0, null: false + t.integer "lockout", default: 0, null: false + t.integer "duration", array: true + t.boolean "recast", default: false, null: false + t.integer "obtained_at", default: 1, null: false + t.uuid "effects", array: true + t.index ["character_id"], name: "index_character_skills_on_character_id" + end + + create_table "character_support_skills", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| + t.uuid "character_id" + t.string "name_en", null: false + t.string "name_jp", null: false + t.string "description_en", null: false + t.string "description_jp", null: false + t.integer "position", null: false + t.integer "obtained_at" + t.boolean "emp", default: false, null: false + t.boolean "transcendence", default: false, null: false + t.uuid "effects", array: true + t.index ["character_id"], name: "index_character_support_skills_on_character_id" + end + create_table "characters", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.string "name_en" t.string "name_jp" @@ -50,10 +93,26 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_15_103037) do t.integer "max_hp_ulb" t.integer "max_atk_ulb" t.integer "character_id", default: [], null: false, array: true + t.string "nicknames_en", default: [], null: false, array: true + t.string "nicknames_jp", default: [], null: false, array: true t.index ["name_en"], name: "index_characters_on_name_en", opclass: :gin_trgm_ops, using: :gin end - create_table "data_migrations", primary_key: "version", id: :string, force: :cascade do |t| + create_table "effects", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| + t.string "name_en", null: false + t.string "name_jp", null: false + t.string "description_en", null: false + t.string "description_jp", null: false + t.integer "accuracy_value" + t.string "accuracy_suffix" + t.string "accuracy_comparator" + t.jsonb "strength", array: true + t.integer "healing_cap" + t.boolean "duration_indefinite", default: false, null: false + t.integer "duration_value" + t.string "duration_unit" + t.string "notes_en" + t.string "notes_jp" end create_table "favorites", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| @@ -74,12 +133,16 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_15_103037) do t.datetime "updated_at", null: false t.boolean "perpetuity", default: false, null: false t.integer "transcendence_step", default: 0, null: false - t.jsonb "ring1", default: { "modifier" => nil, "strength" => nil }, null: false - t.jsonb "ring2", default: { "modifier" => nil, "strength" => nil }, null: false - t.jsonb "ring3", default: { "modifier" => nil, "strength" => nil }, null: false - t.jsonb "ring4", default: { "modifier" => nil, "strength" => nil }, null: false - t.jsonb "earring", default: { "modifier" => nil, "strength" => nil }, null: false - t.jsonb "awakening", default: { "type" => 1, "level" => 1 }, null: false + t.jsonb "ring1", default: {"modifier"=>nil, "strength"=>nil}, null: false + t.jsonb "ring2", default: {"modifier"=>nil, "strength"=>nil}, null: false + t.jsonb "ring3", default: {"modifier"=>nil, "strength"=>nil}, null: false + t.jsonb "ring4", default: {"modifier"=>nil, "strength"=>nil}, null: false + t.jsonb "earring", default: {"modifier"=>nil, "strength"=>nil}, null: false + t.jsonb "awakening", default: {"type"=>1, "level"=>1}, null: false + t.boolean "skill0_enabled", default: true, null: false + t.boolean "skill1_enabled", default: true, null: false + t.boolean "skill2_enabled", default: true, null: false + t.boolean "skill3_enabled", default: true, null: false t.index ["character_id"], name: "index_grid_characters_on_character_id" t.index ["party_id"], name: "index_grid_characters_on_party_id" end @@ -94,6 +157,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_15_103037) do t.datetime "created_at", null: false t.datetime "updated_at", null: false t.integer "transcendence_step", default: 0, null: false + t.boolean "quick_summon", default: false, null: false t.index ["party_id"], name: "index_grid_summons_on_party_id" t.index ["summon_id"], name: "index_grid_summons_on_summon_id" end @@ -155,12 +219,12 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_15_103037) do t.integer "proficiency2" t.string "row" t.boolean "master_level", default: false, null: false - t.boolean "ultimate_mastery", default: false, null: false t.integer "order" t.uuid "base_job_id" t.string "granblue_id" t.boolean "accessory", default: false t.integer "accessory_type", default: 0 + t.boolean "ultimate_mastery", default: false, null: false t.index ["base_job_id"], name: "index_jobs_on_base_job_id" end @@ -212,10 +276,9 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_15_103037) do t.text "description" t.uuid "raid_id" t.integer "element" - t.integer "weapons_count" + t.integer "weapons_count", default: 0 t.uuid "job_id" t.integer "master_level" - t.integer "ultimate_mastery" t.uuid "skill1_id" t.uuid "skill2_id" t.uuid "skill3_id" @@ -229,10 +292,11 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_15_103037) do t.integer "turn_count" t.uuid "source_party_id" t.uuid "accessory_id" - t.integer "characters_count" - t.integer "summons_count" + t.integer "characters_count", default: 0 + t.integer "summons_count", default: 0 t.string "edit_key" t.uuid "local_id" + t.integer "ultimate_mastery" t.index ["accessory_id"], name: "index_parties_on_accessory_id" t.index ["job_id"], name: "index_parties_on_job_id" t.index ["skill0_id"], name: "index_parties_on_skill0_id" @@ -275,6 +339,8 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_15_103037) do t.boolean "xlb", default: false, null: false t.integer "max_atk_xlb" t.integer "max_hp_xlb" + t.string "nicknames_en", default: [], null: false, array: true + t.string "nicknames_jp", default: [], null: false, array: true t.index ["name_en"], name: "index_summons_on_name_en", opclass: :gin_trgm_ops, using: :gin end @@ -329,6 +395,9 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_15_103037) do t.boolean "awakening", default: true, null: false t.boolean "limit", default: false, null: false t.boolean "ax", default: false, null: false + t.integer "awakening_types", default: [], array: true + t.string "nicknames_en", default: [], null: false, array: true + t.string "nicknames_jp", default: [], null: false, array: true t.index ["name_en"], name: "index_weapons_on_name_en", opclass: :gin_trgm_ops, using: :gin end