# This file is auto-generated from the current state of the database. Instead # of editing this file, please use the migrations feature of Active Record to # incrementally modify your database, and then regenerate this schema definition. # # This file is the source Rails uses to define your schema when running `bin/rails # db:schema:load`. When creating a new database, `bin/rails db:schema:load` tends to # be faster and is potentially less error prone than running all of your # migrations from scratch. Old migrations may fail to apply correctly if those # migrations use external dependencies or application code. # # It's strongly recommended that you check this file into your version control system. ActiveRecord::Schema.define(version: 2021_04_30_213202) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" create_table "learned_wow_pet_abilities", force: :cascade do |t| t.bigint "wow_pet_id" t.bigint "wow_pet_ability_id" t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.index ["wow_pet_ability_id"], name: "index_learned_wow_pet_abilities_on_wow_pet_ability_id" t.index ["wow_pet_id"], name: "index_learned_wow_pet_abilities_on_wow_pet_id" end create_table "mobility_string_translations", force: :cascade do |t| t.string "locale", null: false t.string "key", null: false t.string "value" t.string "translatable_type" t.bigint "translatable_id" t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.index ["translatable_id", "translatable_type", "key"], name: "index_mobility_string_translations_on_translatable_attribute" t.index ["translatable_id", "translatable_type", "locale", "key"], name: "index_mobility_string_translations_on_keys", unique: true t.index ["translatable_type", "key", "value", "locale"], name: "index_mobility_string_translations_on_query_keys" end create_table "mobility_text_translations", force: :cascade do |t| t.string "locale", null: false t.string "key", null: false t.text "value" t.string "translatable_type" t.bigint "translatable_id" t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.index ["translatable_id", "translatable_type", "key"], name: "index_mobility_text_translations_on_translatable_attribute" t.index ["translatable_id", "translatable_type", "locale", "key"], name: "index_mobility_text_translations_on_keys", unique: true end create_table "user_obtain_wow_mounts", force: :cascade do |t| t.bigint "user_id" t.bigint "wow_mount_id" t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.index ["user_id"], name: "index_user_obtain_wow_mounts_on_user_id" t.index ["wow_mount_id"], name: "index_user_obtain_wow_mounts_on_wow_mount_id" end create_table "user_obtain_wow_pets", force: :cascade do |t| t.bigint "user_id" t.bigint "wow_pet_id" t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.index ["user_id"], name: "index_user_obtain_wow_pets_on_user_id" t.index ["wow_pet_id"], name: "index_user_obtain_wow_pets_on_wow_pet_id" end create_table "users", force: :cascade do |t| t.string "email" t.string "encrypted_password" t.datetime "remember_created_at" t.string "battletag", null: false t.string "provider" t.string "uid" t.boolean "token_expires" t.datetime "token_expire_at" t.string "token" t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.string "locale", default: "en-gb" t.index ["battletag"], name: "index_users_on_battletag", unique: true end create_table "wow_character_media", force: :cascade do |t| t.bigint "wow_character_id" t.string "avatar" t.string "inset" t.string "main" t.string "main_raw" t.string "href" t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.index ["wow_character_id"], name: "index_wow_character_media_on_wow_character_id" end create_table "wow_character_titles", force: :cascade do |t| t.jsonb "name" t.string "href" t.jsonb "male_name" t.jsonb "female_name" t.integer "title_id", null: false t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.index ["title_id"], name: "index_wow_character_titles_on_title_id", unique: true end create_table "wow_characters", force: :cascade do |t| t.bigint "user_id" t.bigint "wow_realm_id" t.bigint "wow_class_id" t.bigint "wow_race_id" t.bigint "wow_character_title_id" t.string "name" t.string "gender" t.jsonb "translated_gender" t.string "faction" t.jsonb "translated_faction" t.integer "character_id", null: false t.integer "level" t.integer "account_id" t.integer "achievements_points" t.datetime "last_login_timestamp" t.integer "average_item_level" t.integer "equipped_item_level" t.string "href" t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.bigint "last_position_id" t.bigint "bind_position_id" t.index ["character_id"], name: "index_wow_characters_on_character_id", unique: true t.index ["user_id"], name: "index_wow_characters_on_user_id" t.index ["wow_character_title_id"], name: "index_wow_characters_on_wow_character_title_id" t.index ["wow_class_id"], name: "index_wow_characters_on_wow_class_id" t.index ["wow_race_id"], name: "index_wow_characters_on_wow_race_id" t.index ["wow_realm_id"], name: "index_wow_characters_on_wow_realm_id" end create_table "wow_classes", force: :cascade do |t| t.jsonb "name" t.string "href" t.jsonb "male_name" t.jsonb "female_name" t.jsonb "power_type" t.integer "class_id", null: false t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.index ["class_id"], name: "index_wow_classes_on_class_id", unique: true end create_table "wow_geo_maps", force: :cascade do |t| t.integer "map_id" t.jsonb "name" t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.index ["map_id"], name: "index_wow_geo_maps_on_map_id", unique: true end create_table "wow_geo_positions", force: :cascade do |t| t.float "x" t.float "y" t.float "z" t.float "facing" t.bigint "wow_geo_zone_id" t.bigint "wow_geo_map_id" t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.index ["wow_geo_map_id"], name: "index_wow_geo_positions_on_wow_geo_map_id" t.index ["wow_geo_zone_id"], name: "index_wow_geo_positions_on_wow_geo_zone_id" end create_table "wow_geo_zones", force: :cascade do |t| t.integer "zone_id" t.jsonb "name" t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.index ["zone_id"], name: "index_wow_geo_zones_on_zone_id", unique: true end create_table "wow_mounts", force: :cascade do |t| t.jsonb "name" t.string "source_type" t.jsonb "translated_source" t.string "faction" t.jsonb "translated_faction" t.jsonb "description" t.integer "mount_id", null: false t.integer "creature_display_id" t.string "href" t.string "asset_zoom" t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.index ["mount_id"], name: "index_wow_mounts_on_mount_id", unique: true end create_table "wow_pet_abilities", force: :cascade do |t| t.integer "ability_id" t.jsonb "name" t.string "battle_pet_type" t.jsonb "translated_battle_pet_type" t.integer "battle_pet_type_id" t.integer "rounds" t.string "media" t.string "href" t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.index ["ability_id"], name: "index_wow_pet_abilities_on_ability_id", unique: true end create_table "wow_pets", force: :cascade do |t| t.jsonb "name" t.integer "pet_id" t.string "href" t.string "battle_pet_type" t.jsonb "translated_battle_pet_type" t.integer "battle_pet_type_id" t.jsonb "description" t.boolean "is_capturable" t.boolean "is_tradable" t.boolean "is_battlepet" t.boolean "is_alliance_only" t.boolean "is_horde_only" t.string "icon" t.boolean "is_random_creature_display" t.string "source_type" t.jsonb "translated_source_type" t.integer "creature_id" t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.integer "creature_display_id" t.string "media_zoom_url" t.index ["pet_id"], name: "index_wow_pets_on_pet_id", unique: true end create_table "wow_races", force: :cascade do |t| t.jsonb "name" t.string "href" t.string "faction" t.jsonb "translated_faction" t.boolean "is_selectable" t.boolean "is_allied_race" t.jsonb "male_name" t.jsonb "female_name" t.integer "race_id", null: false t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.index ["race_id"], name: "index_wow_races_on_race_id", unique: true end create_table "wow_realms", force: :cascade do |t| t.jsonb "name" t.string "href" t.string "slug" t.jsonb "category" t.string "locale" t.string "timezone" t.jsonb "realm_type" t.boolean "is_tournament" t.integer "realm_id", null: false t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.index ["realm_id"], name: "index_wow_realms_on_realm_id", unique: true end create_table "wow_reputation_tier_levels", force: :cascade do |t| t.jsonb "name" t.integer "min_value" t.integer "max_value" t.integer "order" t.bigint "wow_reputation_tier_id" t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.index ["order"], name: "index_wow_reputation_tier_levels_on_order" t.index ["wow_reputation_tier_id"], name: "index_wow_reputation_tier_levels_on_wow_reputation_tier_id" end create_table "wow_reputation_tiers", force: :cascade do |t| t.string "href" t.integer "reputation_tier_id", null: false t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.index ["reputation_tier_id"], name: "index_wow_reputation_tiers_on_reputation_tier_id", unique: true end create_table "wow_reputations", force: :cascade do |t| t.jsonb "name" t.string "href" t.string "faction" t.jsonb "translated_faction" t.jsonb "description" t.integer "reputation_id", null: false t.bigint "wow_reputation_tier_id" t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.bigint "meta_wow_reputation_id" t.index ["meta_wow_reputation_id"], name: "index_wow_reputations_on_meta_wow_reputation_id" t.index ["reputation_id"], name: "index_wow_reputations_on_reputation_id", unique: true t.index ["wow_reputation_tier_id"], name: "index_wow_reputations_on_wow_reputation_tier_id" end create_table "wow_standings", force: :cascade do |t| t.bigint "wow_character_id" t.bigint "wow_reputation_id" t.integer "raw" t.integer "value" t.integer "max" t.integer "tier" t.jsonb "name" t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.index ["wow_character_id"], name: "index_wow_standings_on_wow_character_id" t.index ["wow_reputation_id"], name: "index_wow_standings_on_wow_reputation_id" end add_foreign_key "wow_characters", "wow_geo_positions", column: "bind_position_id" add_foreign_key "wow_characters", "wow_geo_positions", column: "last_position_id" add_foreign_key "wow_reputations", "wow_reputations", column: "meta_wow_reputation_id" end