Compare commits
135 commits
main
...
quick-summ
| Author | SHA1 | Date | |
|---|---|---|---|
| b31d9f8b9e | |||
| 5d9bd5c647 | |||
| fe6b79f070 | |||
| edb7273589 | |||
| 3f31919a36 | |||
| 51112e8162 | |||
| d10b892490 | |||
| 2455c06f99 | |||
| 22a4bc9c86 | |||
| 3f544dcb6f | |||
| caaafe84d8 | |||
| 8bef63d521 | |||
| 1fe6f45cae | |||
| 71a217d33f | |||
| 8ff5a5a1e9 | |||
| 74a70b8ecd | |||
| 2596e2785a | |||
| 39567fcefd | |||
| 9247e38353 | |||
| 31c9245c98 | |||
| 5f92d64373 | |||
| a123e5fe23 | |||
| bdb68f17a9 | |||
| c5ecd8d6e9 | |||
| 36761f0185 | |||
| b05670bbd3 | |||
| 260ca449a7 | |||
| 2dd6dbae57 | |||
| 6e837e5d18 | |||
| 6bbeeb3df2 | |||
| 7d576c3485 | |||
| 4b7b48cbd3 | |||
| 6b24970c54 | |||
| e45dabf39a | |||
| cce33ebf08 | |||
| bedd72a753 | |||
| c4ae38a432 | |||
| e13bc6f636 | |||
| c0bc62acc2 | |||
| 0ae9b5ba6b | |||
| 50c9dbe7b3 | |||
| 05ea4a41f3 | |||
| 8d68a97ab1 | |||
| 91fdbfe393 | |||
| df21dd6f37 | |||
| 1474580d37 | |||
| 6c12b1937a | |||
| 8fb6fab0d7 | |||
| c336aef449 | |||
| 54ed380d57 | |||
| 651a7ff5f6 | |||
| d39dca337b | |||
| 3dc606de9e | |||
| 7a290c2945 | |||
| 6c084610ad | |||
| 2c4d8b6fe1 | |||
| 906faaeb1e | |||
| 986ef2fb56 | |||
| 1e0ada0613 | |||
| 584fd31776 | |||
| 5025f51d04 | |||
| 8bd78d7764 | |||
| 159439a67e | |||
| c70290d6d5 | |||
| caf357a84d | |||
| 7911374c1e | |||
| bc14ac80ec | |||
| 404720d259 | |||
| 7d142ada54 | |||
| ea7650a9bb | |||
| c474d8030b | |||
| 0ff7e7a8dd | |||
| 7de4bb6863 | |||
| 95748db677 | |||
| 90f2f6e390 | |||
| 1f785d4695 | |||
| 3ced0c6523 | |||
| 5b7a61c3bb | |||
| 7d7c96df80 | |||
| cbfe7ce2da | |||
| bb7d32d262 | |||
| 31240936ab | |||
| fcbf97fe0a | |||
| 6bf100a830 | |||
| ec0549cd18 | |||
| 098fdbffa8 | |||
| a1967bbd2c | |||
| 99578d33ee | |||
| 0797306569 | |||
| 559f30226d | |||
| ee7085f65e | |||
| 9fea1350b3 | |||
| 6ecc2a706c | |||
| d91fd72431 | |||
| ed76afe44c | |||
| 4ee65aecd3 | |||
| 67146e3ab3 | |||
| 54948e4435 | |||
| a8a0a5944c | |||
| d343adeca3 | |||
| bd15d91cdd | |||
| 5460a1d167 | |||
| b248fb62ea | |||
| 717c08ea8f | |||
| 422651668e | |||
| 8c1fae02d4 | |||
| bb79f68a2c | |||
| cfee8b0b31 | |||
| cf270f0243 | |||
| 65d8024476 | |||
| 67cc1138e6 | |||
| c5f2c9d080 | |||
| 633db43e94 | |||
| 73022778f6 | |||
| 18ca78a272 | |||
| f73593d8e1 | |||
| 79b9b4e225 | |||
| b6e8dd93b1 | |||
| fa2962ae1c | |||
| a3e76d53e7 | |||
| 1925678888 | |||
| b0b446aba3 | |||
| 433bd19f6d | |||
| 2a465aca3b | |||
| c2576973bb | |||
| 70bbd47606 | |||
| 24b15c0740 | |||
| 3f914d3be7 | |||
| 8f9bd0077e | |||
| 3617088418 | |||
| 5351123aa2 | |||
| beb9f5aa0c | |||
| a2fff663d6 | |||
| 7404bcbac9 | |||
| 6cf9c8d2ae |
16 changed files with 240 additions and 22 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -44,3 +44,5 @@ config/application.yml
|
||||||
|
|
||||||
.idea/*
|
.idea/*
|
||||||
.vscode/*
|
.vscode/*
|
||||||
|
|
||||||
|
/config/credentials/production.key
|
||||||
|
|
|
||||||
42
README.md
42
README.md
|
|
@ -1,24 +1,40 @@
|
||||||
# README
|
# hensei-api
|
||||||
|
|
||||||
This README would normally document whatever steps are necessary to get the
|
**hensei-api** is the backend for [granblue.team](https://app.granblue.team/), an app for saving and sharing teams for [Granblue Fantasy](https://game.granbluefantasy.jp).
|
||||||
application up and running.
|
|
||||||
|
|
||||||
Things you may want to cover:
|
**Please note that these instructions are a work-in-progress!**
|
||||||
|
|
||||||
* Ruby version
|
### Installing Ruby
|
||||||
|
|
||||||
* System dependencies
|
You'll need to install ruby-3.0.0. We recommend using [RVM](https://rvm.io/) and creating a gemset to manage your Ruby installation. Before proceeding, install the GPG keys from the official RVM website.
|
||||||
|
|
||||||
* Configuration
|
```
|
||||||
|
\curl -sSL https://get.rvm.io | bash -s stable
|
||||||
|
rvm install ruby-3.0.0
|
||||||
|
rvm use 3.0.0@granblue --create
|
||||||
|
```
|
||||||
|
|
||||||
* Database creation
|
### Installing dependencies
|
||||||
|
|
||||||
* Database initialization
|
After cloning the repo, install the project dependencies with:
|
||||||
|
|
||||||
* How to run the test suite
|
```
|
||||||
|
bundle install
|
||||||
|
```
|
||||||
|
|
||||||
* Services (job queues, cache servers, search engines, etc.)
|
### Creating the database
|
||||||
|
|
||||||
* Deployment instructions
|
Once the dependencies have been installed, you'll need to create and seed the database. Seed data is provided but may not be up-to-date!
|
||||||
|
|
||||||
* ...
|
```
|
||||||
|
rails db:create
|
||||||
|
rails db:migrate
|
||||||
|
rails db:seed
|
||||||
|
```
|
||||||
|
|
||||||
|
### Running the server
|
||||||
|
|
||||||
|
Then, you can start the server with:
|
||||||
|
```
|
||||||
|
rails server
|
||||||
|
```
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ module Api
|
||||||
end
|
end
|
||||||
|
|
||||||
view :nested do
|
view :nested do
|
||||||
fields :main, :friend, :position, :uncap_level, :transcendence_step
|
fields :main, :friend, :position, :quick_summon, :uncap_level, :transcendence_step
|
||||||
association :summon, name: :object, blueprint: SummonBlueprint
|
association :summon, name: :object, blueprint: SummonBlueprint
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,9 @@ module Api
|
||||||
]
|
]
|
||||||
end
|
end
|
||||||
|
|
||||||
fields :granblue_id, :row, :ml, :order, :accessory, :accessory_type
|
fields :granblue_id, :row, :order,
|
||||||
|
:master_level, :ultimate_mastery,
|
||||||
|
:accessory, :accessory_type
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -52,6 +52,7 @@ module Api
|
||||||
end
|
end
|
||||||
|
|
||||||
view :jobs do
|
view :jobs do
|
||||||
|
|
||||||
association :job,
|
association :job,
|
||||||
blueprint: JobBlueprint
|
blueprint: JobBlueprint
|
||||||
include_view :job_skills
|
include_view :job_skills
|
||||||
|
|
@ -68,7 +69,9 @@ module Api
|
||||||
include_view :characters
|
include_view :characters
|
||||||
include_view :job_skills
|
include_view :job_skills
|
||||||
|
|
||||||
fields :local_id, :description, :charge_attack, :button_count, :turn_count, :chain_count
|
fields :local_id, :description, :charge_attack,
|
||||||
|
:button_count, :turn_count, :chain_count,
|
||||||
|
:master_level, :ultimate_mastery
|
||||||
|
|
||||||
association :accessory,
|
association :accessory,
|
||||||
blueprint: JobAccessoryBlueprint
|
blueprint: JobAccessoryBlueprint
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ module Api
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
fields :slug, :series, :slot, :group, :order
|
fields :granblue_id, :slug, :series, :slot, :group, :order
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
d2FydGGNzmcDxx3yD8kWlU7vquTJA/QHjPxZhjcoV65DZYU2JgRZSwL+zzE+Vl4bfXtkHKXhyI821y2DvcCtFpHPmNuUncmvmt+jq9mkrK1KuQts9FLshzw1JdCDioGr+JUmMmb55nPChtHUTnd+eW7BXi9KfBtogA9vDlkEG47epYKv0Wn99ziOP/fyvIPVC+nRtUePHQvDAqIENK7doHDKoDhNkhYbCNwH8Xa+F+kZNVKMgpyoCkNDPg10NyUhub7rHBEX41xGeluZVGAkG6HsBB1XNHAkyCQroBKh/XTHZ4brCTeaoJHL3W+/nwZrRDnBVWl7p6lh17JGgfmTzx/oNBqk/FJHR9lfAdkh/msrqpl5YlnsB9nY6vmjEEX4epylGYWDndoo0INYLawOZp1xFgQFedPb7ZU5--f6jX9dWlDgeyy6gd--nHpeshtZQBL1eBzNeocBoA==
|
Fxc8acnxWOFdt+zwWoACR/fskFH2+ZY5izq5cHf8pnGDKRSoI7QYm0h8RwevJtRUvUJQsJ+ja/xzbTYxNC4ABRSBe06lXwHJuCnt5YtR+4l+NiFnS76kGzSfhlfhmvPLtSdfTVRfhRib1vrz7E38jM1pcc2QBkzCxyaoZRu3X65U+gc7EqTjOsg8wpTjJwvfTXW9gkFNwFSen3nOSytewYDcivwUjr/3NUAONKHn4rNhBN3UJiNgOSCGj77Xx60E0Q95CidbkgExcyKAIMMsQgLKGhQRr9yUGxdshMuhA3JhVQSyvtd+jX8PmNX3FQusQIg7YUCh/WpiKo3aimZLQYY2n7lbfeSLpwuishjn138GAxe59Wgm1JhKN4xAkcAq54Q9d4AGFnu/IphMhv1TO03CqnwX1BbfY142--n8Fil7/q3W/SrENe--J31ORG+51iIo29fjiZU3Uw==
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
class AddGranblueIdToWeaponKeys < ActiveRecord::Migration[7.0]
|
||||||
|
def change
|
||||||
|
# This needs to be NOT NULL, but initially it will be nullable until we migrate data
|
||||||
|
add_column :weapon_keys, :granblue_id, :integer, unique: true, null: true
|
||||||
|
end
|
||||||
|
end
|
||||||
6
db/migrate/20230315103026_add_ultimate_mastery.rb
Normal file
6
db/migrate/20230315103026_add_ultimate_mastery.rb
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
class AddUltimateMastery < ActiveRecord::Migration[7.0]
|
||||||
|
def change
|
||||||
|
add_column :parties, :ultimate_mastery, :integer, null: true
|
||||||
|
add_column :jobs, :ultimate_mastery, :boolean, default: false, null: false
|
||||||
|
end
|
||||||
|
end
|
||||||
7
db/migrate/20230315103037_rename_master_level.rb
Normal file
7
db/migrate/20230315103037_rename_master_level.rb
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
class RenameMasterLevel < ActiveRecord::Migration[7.0]
|
||||||
|
def change
|
||||||
|
rename_column :parties, :ml, :master_level
|
||||||
|
rename_column :jobs, :ml, :master_level
|
||||||
|
change_column_null :jobs, :master_level, false
|
||||||
|
end
|
||||||
|
end
|
||||||
32
db/migrate/20230315111940_create_effects.rb
Normal file
32
db/migrate/20230315111940_create_effects.rb
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
class CreateEffects < ActiveRecord::Migration[7.0]
|
||||||
|
def change
|
||||||
|
create_table :effects, id: :uuid, default: -> { "gen_random_uuid()" } 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
|
||||||
|
# {
|
||||||
|
# "min": integer,
|
||||||
|
# "max": integer,
|
||||||
|
# "value": integer,
|
||||||
|
# "suffix": string
|
||||||
|
# }
|
||||||
|
|
||||||
|
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
|
||||||
|
end
|
||||||
|
end
|
||||||
25
db/migrate/20230315111945_create_character_skills.rb
Normal file
25
db/migrate/20230315111945_create_character_skills.rb
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
class CreateCharacterSkills < ActiveRecord::Migration[7.0]
|
||||||
|
def change
|
||||||
|
create_table :character_skills, id: :uuid, default: -> { "gen_random_uuid()" } do |t|
|
||||||
|
t.references :character, type: :uuid
|
||||||
|
|
||||||
|
t.string :name_en, unique: true, null: false
|
||||||
|
t.string :name_jp, unique: true, null: false
|
||||||
|
|
||||||
|
t.string :description_en, unique: true, null: false
|
||||||
|
t.string :description_jp, unique: true, 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
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
18
db/migrate/20230315112015_create_character_charge_attacks.rb
Normal file
18
db/migrate/20230315112015_create_character_charge_attacks.rb
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
class CreateCharacterChargeAttacks < ActiveRecord::Migration[7.0]
|
||||||
|
def change
|
||||||
|
create_table :character_charge_attacks, id: :uuid, default: -> { "gen_random_uuid()" } do |t|
|
||||||
|
t.references :character, type: :uuid
|
||||||
|
|
||||||
|
t.string :name_en, unique: true, null: false
|
||||||
|
t.string :name_jp, unique: true, null: false
|
||||||
|
|
||||||
|
t.string :description_en, unique: true, null: false
|
||||||
|
t.string :description_jp, unique: true, null: false
|
||||||
|
|
||||||
|
t.integer :order, null: false
|
||||||
|
t.string :form
|
||||||
|
|
||||||
|
t.uuid :effects, array: true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
21
db/migrate/20230315112024_create_character_support_skills.rb
Normal file
21
db/migrate/20230315112024_create_character_support_skills.rb
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
class CreateCharacterSupportSkills < ActiveRecord::Migration[7.0]
|
||||||
|
def change
|
||||||
|
create_table :character_support_skills, id: :uuid, default: -> { "gen_random_uuid()" } do |t|
|
||||||
|
t.references :character, type: :uuid
|
||||||
|
|
||||||
|
t.string :name_en, unique: true, null: false
|
||||||
|
t.string :name_jp, unique: true, null: false
|
||||||
|
|
||||||
|
t.string :description_en, unique: true, null: false
|
||||||
|
t.string :description_jp, unique: true, 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
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
class AddQuickSummonToGridSummons < ActiveRecord::Migration[7.0]
|
||||||
|
def change
|
||||||
|
add_column :grid_summons, :quick_summon, :boolean, default: false, null: false
|
||||||
|
end
|
||||||
|
end
|
||||||
83
db/schema.rb
83
db/schema.rb
|
|
@ -10,19 +10,62 @@
|
||||||
#
|
#
|
||||||
# It's strongly recommended that you check this file into your version control system.
|
# It's strongly recommended that you check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema[7.0].define(version: 2023_01_31_084343) do
|
ActiveRecord::Schema[7.0].define(version: 2023_03_15_113538) do
|
||||||
# These are extensions that must be enabled in order to support this database
|
# These are extensions that must be enabled in order to support this database
|
||||||
enable_extension "btree_gin"
|
enable_extension "btree_gin"
|
||||||
enable_extension "pg_trgm"
|
enable_extension "pg_trgm"
|
||||||
enable_extension "pgcrypto"
|
enable_extension "pgcrypto"
|
||||||
enable_extension "plpgsql"
|
enable_extension "plpgsql"
|
||||||
enable_extension "timescaledb"
|
|
||||||
|
|
||||||
create_table "app_updates", primary_key: "updated_at", id: :datetime, force: :cascade do |t|
|
create_table "app_updates", primary_key: "updated_at", id: :datetime, force: :cascade do |t|
|
||||||
t.string "update_type", null: false
|
t.string "update_type", null: false
|
||||||
t.string "version"
|
t.string "version"
|
||||||
end
|
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|
|
create_table "characters", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
|
||||||
t.string "name_en"
|
t.string "name_en"
|
||||||
t.string "name_jp"
|
t.string "name_jp"
|
||||||
|
|
@ -50,9 +93,28 @@ ActiveRecord::Schema[7.0].define(version: 2023_01_31_084343) do
|
||||||
t.integer "max_hp_ulb"
|
t.integer "max_hp_ulb"
|
||||||
t.integer "max_atk_ulb"
|
t.integer "max_atk_ulb"
|
||||||
t.integer "character_id", default: [], null: false, array: true
|
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
|
t.index ["name_en"], name: "index_characters_on_name_en", opclass: :gin_trgm_ops, using: :gin
|
||||||
end
|
end
|
||||||
|
|
||||||
|
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|
|
create_table "favorites", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
|
||||||
t.uuid "user_id"
|
t.uuid "user_id"
|
||||||
t.uuid "party_id"
|
t.uuid "party_id"
|
||||||
|
|
@ -77,6 +139,10 @@ ActiveRecord::Schema[7.0].define(version: 2023_01_31_084343) do
|
||||||
t.jsonb "ring4", 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 "earring", default: {"modifier"=>nil, "strength"=>nil}, null: false
|
||||||
t.jsonb "awakening", default: {"type"=>1, "level"=>1}, 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 ["character_id"], name: "index_grid_characters_on_character_id"
|
||||||
t.index ["party_id"], name: "index_grid_characters_on_party_id"
|
t.index ["party_id"], name: "index_grid_characters_on_party_id"
|
||||||
end
|
end
|
||||||
|
|
@ -91,6 +157,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_01_31_084343) do
|
||||||
t.datetime "created_at", null: false
|
t.datetime "created_at", null: false
|
||||||
t.datetime "updated_at", null: false
|
t.datetime "updated_at", null: false
|
||||||
t.integer "transcendence_step", default: 0, 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 ["party_id"], name: "index_grid_summons_on_party_id"
|
||||||
t.index ["summon_id"], name: "index_grid_summons_on_summon_id"
|
t.index ["summon_id"], name: "index_grid_summons_on_summon_id"
|
||||||
end
|
end
|
||||||
|
|
@ -151,12 +218,13 @@ ActiveRecord::Schema[7.0].define(version: 2023_01_31_084343) do
|
||||||
t.integer "proficiency1"
|
t.integer "proficiency1"
|
||||||
t.integer "proficiency2"
|
t.integer "proficiency2"
|
||||||
t.string "row"
|
t.string "row"
|
||||||
t.boolean "ml", default: false
|
t.boolean "master_level", default: false, null: false
|
||||||
t.integer "order"
|
t.integer "order"
|
||||||
t.uuid "base_job_id"
|
t.uuid "base_job_id"
|
||||||
t.string "granblue_id"
|
t.string "granblue_id"
|
||||||
t.boolean "accessory", default: false
|
t.boolean "accessory", default: false
|
||||||
t.integer "accessory_type", default: 0
|
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"
|
t.index ["base_job_id"], name: "index_jobs_on_base_job_id"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -210,7 +278,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_01_31_084343) do
|
||||||
t.integer "element"
|
t.integer "element"
|
||||||
t.integer "weapons_count"
|
t.integer "weapons_count"
|
||||||
t.uuid "job_id"
|
t.uuid "job_id"
|
||||||
t.integer "ml"
|
t.integer "master_level"
|
||||||
t.uuid "skill1_id"
|
t.uuid "skill1_id"
|
||||||
t.uuid "skill2_id"
|
t.uuid "skill2_id"
|
||||||
t.uuid "skill3_id"
|
t.uuid "skill3_id"
|
||||||
|
|
@ -228,6 +296,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_01_31_084343) do
|
||||||
t.integer "summons_count"
|
t.integer "summons_count"
|
||||||
t.string "edit_key"
|
t.string "edit_key"
|
||||||
t.uuid "local_id"
|
t.uuid "local_id"
|
||||||
|
t.integer "ultimate_mastery"
|
||||||
t.index ["accessory_id"], name: "index_parties_on_accessory_id"
|
t.index ["accessory_id"], name: "index_parties_on_accessory_id"
|
||||||
t.index ["job_id"], name: "index_parties_on_job_id"
|
t.index ["job_id"], name: "index_parties_on_job_id"
|
||||||
t.index ["skill0_id"], name: "index_parties_on_skill0_id"
|
t.index ["skill0_id"], name: "index_parties_on_skill0_id"
|
||||||
|
|
@ -270,6 +339,8 @@ ActiveRecord::Schema[7.0].define(version: 2023_01_31_084343) do
|
||||||
t.boolean "xlb", default: false, null: false
|
t.boolean "xlb", default: false, null: false
|
||||||
t.integer "max_atk_xlb"
|
t.integer "max_atk_xlb"
|
||||||
t.integer "max_hp_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
|
t.index ["name_en"], name: "index_summons_on_name_en", opclass: :gin_trgm_ops, using: :gin
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -296,6 +367,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_01_31_084343) do
|
||||||
t.integer "group"
|
t.integer "group"
|
||||||
t.integer "order"
|
t.integer "order"
|
||||||
t.string "slug"
|
t.string "slug"
|
||||||
|
t.integer "granblue_id"
|
||||||
end
|
end
|
||||||
|
|
||||||
create_table "weapons", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
|
create_table "weapons", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
|
||||||
|
|
@ -323,6 +395,9 @@ ActiveRecord::Schema[7.0].define(version: 2023_01_31_084343) do
|
||||||
t.boolean "awakening", default: true, null: false
|
t.boolean "awakening", default: true, null: false
|
||||||
t.boolean "limit", default: false, null: false
|
t.boolean "limit", default: false, null: false
|
||||||
t.boolean "ax", 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
|
t.index ["name_en"], name: "index_weapons_on_name_en", opclass: :gin_trgm_ops, using: :gin
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue