diff --git a/Gemfile b/Gemfile index 0b7ae76..a138342 100644 --- a/Gemfile +++ b/Gemfile @@ -66,12 +66,16 @@ end group :development do gem 'listen' - gem 'rubocop' gem 'solargraph' gem 'spring' gem 'spring-commands-rspec' end +group :tools do + gem 'squasher', '>= 0.6.0' + gem 'rubocop' +end + group :test do gem 'api_matchers' gem 'byebug' diff --git a/Gemfile.lock b/Gemfile.lock index c8cef33..fef5a6c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -293,6 +293,7 @@ GEM actionpack (>= 5.2) activesupport (>= 5.2) sprockets (>= 3.0.0) + squasher (0.7.2) stringio (3.0.4) thor (1.2.1) tilt (2.0.11) @@ -349,6 +350,7 @@ DEPENDENCIES spring spring-commands-rspec sprockets-rails + squasher (>= 0.6.0) will_paginate (~> 3.3) RUBY VERSION diff --git a/app/blueprints/api/v1/awakening_blueprint.rb b/app/blueprints/api/v1/awakening_blueprint.rb new file mode 100644 index 0000000..fb4e7ff --- /dev/null +++ b/app/blueprints/api/v1/awakening_blueprint.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Api + module V1 + class AwakeningBlueprint < ApiBlueprint + field :name do |w| + { + en: w.name_en, + ja: w.name_jp + } + end + + fields :slug, :object_type, :order + end + end +end diff --git a/app/blueprints/api/v1/character_blueprint.rb b/app/blueprints/api/v1/character_blueprint.rb index d47bde7..1857ac1 100644 --- a/app/blueprints/api/v1/character_blueprint.rb +++ b/app/blueprints/api/v1/character_blueprint.rb @@ -63,6 +63,12 @@ module Api ougi_ratio_flb: w.ougi_ratio_flb } end + + field :awakenings do + Awakening.where(object_type: 'Character').map do |a| + AwakeningBlueprint.render_as_hash(a) + end + end end end end diff --git a/app/blueprints/api/v1/grid_character_blueprint.rb b/app/blueprints/api/v1/grid_character_blueprint.rb index 4ecf072..4f9d656 100644 --- a/app/blueprints/api/v1/grid_character_blueprint.rb +++ b/app/blueprints/api/v1/grid_character_blueprint.rb @@ -18,7 +18,10 @@ module Api end field :awakening do |c| - c.awakening + { + type: AwakeningBlueprint.render_as_hash(c.awakening), + level: c.awakening_level + } end field :over_mastery, if: lambda { |_fn, obj, _opt| diff --git a/app/blueprints/api/v1/grid_summon_blueprint.rb b/app/blueprints/api/v1/grid_summon_blueprint.rb index 116b7ab..f866602 100644 --- a/app/blueprints/api/v1/grid_summon_blueprint.rb +++ b/app/blueprints/api/v1/grid_summon_blueprint.rb @@ -9,7 +9,7 @@ module Api end 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 end diff --git a/app/blueprints/api/v1/grid_weapon_blueprint.rb b/app/blueprints/api/v1/grid_weapon_blueprint.rb index 3e409e8..7ab9355 100644 --- a/app/blueprints/api/v1/grid_weapon_blueprint.rb +++ b/app/blueprints/api/v1/grid_weapon_blueprint.rb @@ -32,9 +32,9 @@ module Api end end - field :awakening, if: ->(_field_name, w, _options) { w.weapon.awakening } do |w| + field :awakening, if: ->(_field_name, w, _options) { w.awakening_id } do |w| { - type: w.awakening_type, + type: AwakeningBlueprint.render_as_hash(w.awakening), level: w.awakening_level } end diff --git a/app/blueprints/api/v1/party_blueprint.rb b/app/blueprints/api/v1/party_blueprint.rb index fe6674d..ef5ba48 100644 --- a/app/blueprints/api/v1/party_blueprint.rb +++ b/app/blueprints/api/v1/party_blueprint.rb @@ -34,7 +34,8 @@ module Api view :minimal do fields :name, :element, :shortcode, :favorited, :extra, - :full_auto, :clear_time, :auto_guard, :created_at, :updated_at + :full_auto, :clear_time, :auto_guard, :auto_summon, + :created_at, :updated_at field :remix do |p| p.is_remix @@ -49,7 +50,8 @@ module Api end association :raid, - blueprint: RaidBlueprint + blueprint: RaidBlueprint, + view: :full association :job, blueprint: JobBlueprint diff --git a/app/blueprints/api/v1/raid_blueprint.rb b/app/blueprints/api/v1/raid_blueprint.rb index 295c09a..be26e32 100644 --- a/app/blueprints/api/v1/raid_blueprint.rb +++ b/app/blueprints/api/v1/raid_blueprint.rb @@ -3,14 +3,21 @@ module Api module V1 class RaidBlueprint < ApiBlueprint - field :name do |raid| - { - en: raid.name_en, - ja: raid.name_jp - } + view :nested do + field :name do |raid| + { + en: raid.name_en, + ja: raid.name_jp + } + end + + fields :slug, :level, :element end - fields :slug, :level, :group, :element + view :full do + include_view :nested + association :group, blueprint: RaidGroupBlueprint, view: :flat + end end end end diff --git a/app/blueprints/api/v1/raid_group_blueprint.rb b/app/blueprints/api/v1/raid_group_blueprint.rb new file mode 100644 index 0000000..c65a0fa --- /dev/null +++ b/app/blueprints/api/v1/raid_group_blueprint.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Api + module V1 + class RaidGroupBlueprint < ApiBlueprint + view :flat do + field :name do |group| + { + en: group.name_en, + ja: group.name_jp + } + end + + fields :difficulty, :order, :section, :extra, :guidebooks, :hl + end + + view :full do + include_view :flat + association :raids, blueprint: RaidBlueprint, view: :full + end + end + end +end diff --git a/app/blueprints/api/v1/weapon_blueprint.rb b/app/blueprints/api/v1/weapon_blueprint.rb index d7701e1..2b42710 100644 --- a/app/blueprints/api/v1/weapon_blueprint.rb +++ b/app/blueprints/api/v1/weapon_blueprint.rb @@ -11,8 +11,8 @@ module Api end fields :granblue_id, :element, :proficiency, - :max_level, :max_skill_level, :limit, :rarity, - :series, :ax, :ax_type, :awakening + :max_level, :max_skill_level, :max_awakening_level, :limit, :rarity, + :series, :ax, :ax_type field :uncap do |w| { @@ -38,6 +38,12 @@ module Api max_atk_ulb: w.max_atk_ulb } end + + field :awakenings, if: ->(_field_name, w, _options) { w.awakenings } do |w| + w.awakenings.map do |a| + AwakeningBlueprint.render_as_hash(a) + end + end end end end diff --git a/app/controllers/api/v1/grid_characters_controller.rb b/app/controllers/api/v1/grid_characters_controller.rb index a3b2da9..8c10cdc 100644 --- a/app/controllers/api/v1/grid_characters_controller.rb +++ b/app/controllers/api/v1/grid_characters_controller.rb @@ -147,9 +147,10 @@ module Api def character_params params.require(:character).permit(:id, :party_id, :character_id, :position, :uncap_level, :transcendence_step, :perpetuity, + :awakening_id, :awakening_level, ring1: %i[modifier strength], ring2: %i[modifier strength], ring3: %i[modifier strength], ring4: %i[modifier strength], - earring: %i[modifier strength], awakening: %i[type level]) + earring: %i[modifier strength]) end def resolve_params diff --git a/app/controllers/api/v1/grid_summons_controller.rb b/app/controllers/api/v1/grid_summons_controller.rb index 132a016..f55101c 100644 --- a/app/controllers/api/v1/grid_summons_controller.rb +++ b/app/controllers/api/v1/grid_summons_controller.rb @@ -4,11 +4,11 @@ module Api module V1 class GridSummonsController < Api::V1::ApiController attr_reader :party, :incoming_summon - - before_action :set, only: %w[update destroy] + + before_action :set, only: %w[update update_uncap_level update_quick_summon destroy] before_action :find_party, only: :create before_action :find_incoming_summon, only: :create - before_action :authorize, only: %i[create update destroy] + before_action :authorize, only: %i[create update update_uncap_level update_quick_summon destroy] def create # Create the GridSummon with the desired parameters @@ -30,6 +30,59 @@ module Api render_validation_error_response(@character) end + def update_uncap_level + summon = @summon.summon + max_uncap_level = if summon.flb && !summon.ulb + 4 + elsif summon.ulb + 5 + else + 3 + end + + greater_than_max_uncap = summon_params[:uncap_level].to_i > max_uncap_level + can_be_transcended = summon.xlb && summon_params[:transcendence_step] && summon_params[:transcendence_step]&.to_i.positive? + + uncap_level = if greater_than_max_uncap || can_be_transcended + max_uncap_level + else + summon_params[:uncap_level] + end + + transcendence_step = if summon.xlb && summon_params[:transcendence_step] + summon_params[:transcendence_step] + else + 0 + end + + @summon.update!( + uncap_level: uncap_level, + transcendence_step: transcendence_step + ) + + return unless @summon.persisted? + + render json: GridSummonBlueprint.render(@summon, view: :nested, root: :grid_summon) + end + + def update_quick_summon + return if [4, 5, 6].include?(@summon.position) + + quick_summons = @summon.party.summons.select(&:quick_summon) + + quick_summons.each do |summon| + summon.update!(quick_summon: false) + end + + @summon.update!(quick_summon: summon_params[:quick_summon]) + return unless @summon.persisted? + + quick_summons -= [@summon] + summons = [@summon] + quick_summons + + render json: GridSummonBlueprint.render(summons, view: :nested, root: :summons) + end + def save_summon(summon) if (grid_summon = GridSummon.where( party_id: party.id, @@ -46,7 +99,6 @@ module Api def handle_conflict(summon) conflict_summon = summon.conflicts(party) - ap conflict_summon return unless conflict_summon.summon.id == incoming_summon.id old_position = conflict_summon.position @@ -58,19 +110,6 @@ module Api render json: output end - def update_uncap_level - summon = GridSummon.find(summon_params[:id]) - - render_unauthorized_response if current_user && (summon.party.user != current_user) - - summon.uncap_level = summon_params[:uncap_level] - summon.transcendence_step = 0 - - return unless summon.save! - - render json: GridSummonBlueprint.render(summon, view: :nested, root: :grid_summon) - end - def destroy render_unauthorized_response if @summon.party.user != current_user return render json: GridSummonBlueprint.render(@summon, view: :destroyed) if @summon.destroy @@ -103,13 +142,14 @@ module Api end def set - @summon = GridSummon.where('id = ?', params[:id]).first + id = summon_params[:id] ? summon_params[:id] : params[:id] + @summon = GridSummon.where('id = ?', id).first end # Specify whitelisted properties that can be modified. def summon_params - params.require(:summon).permit(:id, :party_id, :summon_id, :position, :main, :friend, :uncap_level, - :transcendence_step) + params.require(:summon).permit(:id, :party_id, :summon_id, :position, :main, :friend, + :quick_summon, :uncap_level, :transcendence_step) end end end diff --git a/app/controllers/api/v1/grid_weapons_controller.rb b/app/controllers/api/v1/grid_weapons_controller.rb index 3f46061..491e53f 100644 --- a/app/controllers/api/v1/grid_weapons_controller.rb +++ b/app/controllers/api/v1/grid_weapons_controller.rb @@ -198,7 +198,7 @@ module Api :position, :mainhand, :uncap_level, :element, :weapon_key1_id, :weapon_key2_id, :weapon_key3_id, :ax_modifier1, :ax_modifier2, :ax_strength1, :ax_strength2, - :awakening_type, :awakening_level + :awakening_id, :awakening_level ) end diff --git a/app/controllers/api/v1/jobs_controller.rb b/app/controllers/api/v1/jobs_controller.rb index 443c080..da1b9a9 100644 --- a/app/controllers/api/v1/jobs_controller.rb +++ b/app/controllers/api/v1/jobs_controller.rb @@ -3,8 +3,8 @@ module Api module V1 class JobsController < Api::V1::ApiController - before_action :set, only: %w[update_job update_job_skills] - before_action :authorize, only: %w[update_job update_job_skills] + before_action :set, only: %w[update_job update_job_skills destroy_job_skill] + before_action :authorize, only: %w[update_job update_job_skills destroy_job_skill] def all render json: JobBlueprint.render(Job.all) @@ -80,6 +80,12 @@ module Api render json: PartyBlueprint.render(@party, view: :jobs) if @party.save! end + def destroy_job_skill + position = job_params[:skill_position].to_i + @party["skill#{position}_id"] = nil + render json: PartyBlueprint.render(@party, view: :jobs) if @party.save + end + private def merge_skills_with_existing_skills( @@ -180,7 +186,8 @@ module Api :skill0_id, :skill1_id, :skill2_id, - :skill3_id + :skill3_id, + :skill_position ) end end diff --git a/app/controllers/api/v1/parties_controller.rb b/app/controllers/api/v1/parties_controller.rb index 8bbd66a..8dec3bd 100644 --- a/app/controllers/api/v1/parties_controller.rb +++ b/app/controllers/api/v1/parties_controller.rb @@ -56,7 +56,7 @@ module Api # TODO: Validate accessory with job return render json: PartyBlueprint.render(@party, view: :full, root: :party) if @party.save - + render_validation_error_response(@party) end @@ -259,6 +259,7 @@ module Api :skill3_id, :full_auto, :auto_guard, + :auto_summon, :charge_attack, :clear_time, :button_count, diff --git a/app/controllers/api/v1/raids_controller.rb b/app/controllers/api/v1/raids_controller.rb index f5b898e..e59397f 100644 --- a/app/controllers/api/v1/raids_controller.rb +++ b/app/controllers/api/v1/raids_controller.rb @@ -4,7 +4,11 @@ module Api module V1 class RaidsController < Api::V1::ApiController def all - render json: RaidBlueprint.render(Raid.all) + render json: RaidBlueprint.render(Raid.all, view: :full) + end + + def groups + render json: RaidGroupBlueprint.render(RaidGroup.all, view: :full) end end end diff --git a/app/controllers/api/v1/search_controller.rb b/app/controllers/api/v1/search_controller.rb index 0d94ae0..b60c3d0 100644 --- a/app/controllers/api/v1/search_controller.rb +++ b/app/controllers/api/v1/search_controller.rb @@ -158,6 +158,13 @@ module Api .where(job: { base_job: job.base_job.id }, emp: true) .where.not(job: job.id) ) + .or( + JobSkill.joins(:job) + .method("#{locale}_search").call(search_params[:query]) + .where(conditions) + .where(job: { base_job: job.base_job.id }, base: true) + .where.not(job: job.id) + ) else JobSkill.all .joins(:job) diff --git a/app/models/awakening.rb b/app/models/awakening.rb new file mode 100644 index 0000000..9970535 --- /dev/null +++ b/app/models/awakening.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +class Awakening < ApplicationRecord + def weapon_awakenings + WeaponAwakening.where(awakening_id: id) + end + + def weapons + weapon_awakenings.map(&:weapon) + end + + def awakening + AwakeningBlueprint + end +end diff --git a/app/models/character.rb b/app/models/character.rb index c772471..6bb30a6 100644 --- a/app/models/character.rb +++ b/app/models/character.rb @@ -11,7 +11,7 @@ class Character < ApplicationRecord } } - pg_search_scope :jp_search, + pg_search_scope :ja_search, against: :name_jp, using: { tsearch: { diff --git a/app/models/grid_character.rb b/app/models/grid_character.rb index 7b5a8fb..468bea9 100644 --- a/app/models/grid_character.rb +++ b/app/models/grid_character.rb @@ -1,12 +1,13 @@ # frozen_string_literal: true class GridCharacter < ApplicationRecord + belongs_to :awakening, optional: true belongs_to :party, counter_cache: :characters_count, inverse_of: :characters validates_presence_of :party - validate :awakening_level, on: :update + validate :validate_awakening_level, on: :update validate :transcendence, on: :update validate :validate_over_mastery_values, on: :update validate :validate_aetherial_mastery_value, on: :update @@ -22,11 +23,9 @@ class GridCharacter < ApplicationRecord set perpetuity: false end - def awakening_level - return if awakening.nil? - - errors.add(:awakening, 'awakening level too low') if awakening['level'] < 1 - errors.add(:awakening, 'awakening level too high') if awakening['level'] > 9 + def validate_awakening_level + errors.add(:awakening, 'awakening level too low') if awakening_level < 1 + errors.add(:awakening, 'awakening level too high') if awakening_level > 9 end def transcendence diff --git a/app/models/grid_weapon.rb b/app/models/grid_weapon.rb index acec98d..459e450 100644 --- a/app/models/grid_weapon.rb +++ b/app/models/grid_weapon.rb @@ -10,6 +10,8 @@ class GridWeapon < ApplicationRecord belongs_to :weapon_key2, class_name: 'WeaponKey', foreign_key: :weapon_key2_id, optional: true belongs_to :weapon_key3, class_name: 'WeaponKey', foreign_key: :weapon_key3_id, optional: true + belongs_to :awakening, optional: true + validate :compatible_with_position, on: :create validate :no_conflicts, on: :create diff --git a/app/models/guidebook.rb b/app/models/guidebook.rb index 581068a..c46c431 100644 --- a/app/models/guidebook.rb +++ b/app/models/guidebook.rb @@ -14,7 +14,7 @@ class Guidebook < ApplicationRecord } } - pg_search_scope :jp_search, + pg_search_scope :ja_search, against: :name_jp, using: { tsearch: { diff --git a/app/models/job.rb b/app/models/job.rb index beb0ce4..7cb8d6b 100644 --- a/app/models/job.rb +++ b/app/models/job.rb @@ -2,6 +2,7 @@ class Job < ApplicationRecord belongs_to :party + has_many :skills, class_name: 'JobSkill' belongs_to :base_job, foreign_key: 'base_job_id', diff --git a/app/models/job_skill.rb b/app/models/job_skill.rb index 9e0bcd3..d2b6b83 100644 --- a/app/models/job_skill.rb +++ b/app/models/job_skill.rb @@ -16,7 +16,7 @@ class JobSkill < ApplicationRecord } } - pg_search_scope :jp_search, + pg_search_scope :ja_search, against: :name_jp, using: { tsearch: { diff --git a/app/models/raid.rb b/app/models/raid.rb index 9163f71..05a6934 100644 --- a/app/models/raid.rb +++ b/app/models/raid.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true class Raid < ApplicationRecord + belongs_to :group, class_name: 'RaidGroup', foreign_key: :group_id + def blueprint RaidBlueprint end diff --git a/app/models/raid_group.rb b/app/models/raid_group.rb new file mode 100644 index 0000000..3c1010b --- /dev/null +++ b/app/models/raid_group.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +class RaidGroup < ApplicationRecord + has_many :raids, class_name: 'Raid', foreign_key: :group_id + + def blueprint + RaidGroupBlueprint + end +end diff --git a/app/models/summon.rb b/app/models/summon.rb index 7efab1b..cd9245a 100644 --- a/app/models/summon.rb +++ b/app/models/summon.rb @@ -11,7 +11,7 @@ class Summon < ApplicationRecord } } - pg_search_scope :jp_search, + pg_search_scope :ja_search, against: :name_jp, using: { tsearch: { diff --git a/app/models/weapon.rb b/app/models/weapon.rb index c18a313..9aedca3 100644 --- a/app/models/weapon.rb +++ b/app/models/weapon.rb @@ -11,7 +11,7 @@ class Weapon < ApplicationRecord } } - pg_search_scope :jp_search, + pg_search_scope :ja_search, against: :name_jp, using: { tsearch: { @@ -20,6 +20,9 @@ class Weapon < ApplicationRecord } } + has_many :weapon_awakenings + has_many :awakenings, through: :weapon_awakenings + def blueprint WeaponBlueprint end diff --git a/app/models/weapon_awakening.rb b/app/models/weapon_awakening.rb new file mode 100644 index 0000000..a1a88f6 --- /dev/null +++ b/app/models/weapon_awakening.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +class WeaponAwakening < ApplicationRecord + belongs_to :weapon + belongs_to :awakening + + def weapon + Weapon.find(weapon_id) + end + + def awakening + Awakening.find(awakening_id) + end +end diff --git a/bin/squasher b/bin/squasher new file mode 100755 index 0000000..b3d9ac3 --- /dev/null +++ b/bin/squasher @@ -0,0 +1,27 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true + +# +# This file was generated by Bundler. +# +# The application 'squasher' is installed as part of a gem, and +# this file is here to facilitate running it. +# + +ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__) + +bundle_binstub = File.expand_path("bundle", __dir__) + +if File.file?(bundle_binstub) + if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/ + load(bundle_binstub) + else + abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run. +Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.") + end +end + +require "rubygems" +require "bundler/setup" + +load Gem.bin_path("squasher", "squasher") diff --git a/config/routes.rb b/config/routes.rb index 9218e0f..5864e34 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -26,6 +26,7 @@ Rails.application.routes.draw do put 'parties/:id/jobs', to: 'jobs#update_job' put 'parties/:id/job_skills', to: 'jobs#update_job_skills' + delete 'parties/:id/job_skills', to: 'jobs#destroy_job_skill' post 'check/email', to: 'users#check_email' post 'check/username', to: 'users#check_username' @@ -45,6 +46,7 @@ Rails.application.routes.draw do get 'guidebooks', to: 'guidebooks#all' get 'raids', to: 'raids#all' + get 'raids/groups', to: 'raids#groups' get 'weapon_keys', to: 'weapon_keys#all' post 'characters', to: 'grid_characters#create' @@ -59,6 +61,7 @@ Rails.application.routes.draw do post 'summons', to: 'grid_summons#create' post 'summons/update_uncap', to: 'grid_summons#update_uncap_level' + post 'summons/update_quick_summon', to: 'grid_summons#update_quick_summon' delete 'summons', to: 'grid_summons#destroy' delete 'favorites', to: 'favorites#destroy' diff --git a/db/data/20230102233527_migrate_ax_type_to_ax.rb b/db/data/20230102233527_migrate_ax_type_to_ax.rb deleted file mode 100644 index e559c43..0000000 --- a/db/data/20230102233527_migrate_ax_type_to_ax.rb +++ /dev/null @@ -1,20 +0,0 @@ -# frozen_string_literal: true - -class MigrateAxTypeToAx < ActiveRecord::Migration[6.1] - def up - Weapon.all.each do |weapon| - if weapon.ax_type > 0 - weapon.ax = true - elsif weapon.ax_type == 0 - weapon.ax = false - weapon.ax_type = nil - end - - weapon.save - end - end - - def down - raise ActiveRecord::IrreversibleMigration - end -end diff --git a/db/data/20230102235227_set_flb_to_false_on_summons.rb b/db/data/20230102235227_set_flb_to_false_on_summons.rb deleted file mode 100644 index 96f4434..0000000 --- a/db/data/20230102235227_set_flb_to_false_on_summons.rb +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true - -class SetFlbToFalseOnSummons < ActiveRecord::Migration[6.1] - def up - Summon.all.each do |summon| - if summon.flb.nil? - summon.flb = false - summon.save - end - - if summon.ulb.nil? - summon.ulb = false - summon.save - end - end - end - - def down - raise ActiveRecord::IrreversibleMigration - end -end diff --git a/db/data/20230619015047_migrate_awakening_type_to_new_awakening_type.rb b/db/data/20230619015047_migrate_awakening_type_to_new_awakening_type.rb new file mode 100644 index 0000000..6fa7cdf --- /dev/null +++ b/db/data/20230619015047_migrate_awakening_type_to_new_awakening_type.rb @@ -0,0 +1,28 @@ +# frozen_string_literal: true + +class MigrateAwakeningTypeToNewAwakeningType < ActiveRecord::Migration[7.0] + def up + GridWeapon.all.each do |weapon| + if weapon.awakening_type&.positive? && weapon.awakening_type <= 3 + slug = if weapon.awakening_type == 1 + 'weapon-atk' + elsif weapon.awakening_type == 2 + 'weapon-def' + elsif weapon.awakening_type == 3 + 'weapon-special' + end + + ap "#{weapon.weapon.name_en}: #{slug}" + + new_awakening = Awakening.find_by(slug: slug) + weapon.awakening_id = new_awakening.id + ap weapon.awakening_id + weapon.save! + end + end + end + + def down + raise ActiveRecord::IrreversibleMigration + end +end diff --git a/db/data/20230619043726_migrate_character_awakening_type_to_new_awakening_type.rb b/db/data/20230619043726_migrate_character_awakening_type_to_new_awakening_type.rb new file mode 100644 index 0000000..ff62ded --- /dev/null +++ b/db/data/20230619043726_migrate_character_awakening_type_to_new_awakening_type.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +class MigrateCharacterAwakeningTypeToNewAwakeningType < ActiveRecord::Migration[7.0] + def up + GridCharacter.all.each do |character| + slug = if character.awakening['type'] == 0 + 'character-balanced' + elsif character.awakening['type'] == 1 + 'character-atk' + elsif character.awakening['type'] == 2 + 'character-def' + elsif character.awakening['type'] == 3 + 'character-multi' + else + 'character-balanced' + end + + new_awakening = Awakening.find_by(slug: slug) + + character.awakening_id = new_awakening.id + character.awakening_level = character.awakening['level'] + + character.save!(validate: false) + end + end + + def down + raise ActiveRecord::IrreversibleMigration + end +end diff --git a/db/data_schema.rb b/db/data_schema.rb index aaf6ba0..e0e6836 100644 --- a/db/data_schema.rb +++ b/db/data_schema.rb @@ -1 +1 @@ -DataMigrate::Data.define(version: 20230102235227) +DataMigrate::Data.define(version: 20230619043726) diff --git a/db/migrate/2020091309001_enable_pgcrypto_extension.rb b/db/migrate/2020091309001_enable_pgcrypto_extension.rb deleted file mode 100644 index e5c01b9..0000000 --- a/db/migrate/2020091309001_enable_pgcrypto_extension.rb +++ /dev/null @@ -1,5 +0,0 @@ -class EnablePgcryptoExtension < ActiveRecord::Migration[5.0] - def change - enable_extension 'pgcrypto' - end -end \ No newline at end of file diff --git a/db/migrate/20200913091950_create_users.rb b/db/migrate/20200913091950_create_users.rb deleted file mode 100644 index b726e0c..0000000 --- a/db/migrate/20200913091950_create_users.rb +++ /dev/null @@ -1,12 +0,0 @@ -class CreateUsers < ActiveRecord::Migration[6.0] - def change - create_table :users, id: :uuid, default: -> { "gen_random_uuid()" } do |t| - t.string :email, :unique => true - t.string :password_digest - t.string :username, :unique => true - t.integer :granblue_id, :unique => true - - t.timestamps - end - end -end diff --git a/db/migrate/20200913091956_create_weapons.rb b/db/migrate/20200913091956_create_weapons.rb deleted file mode 100644 index 01af527..0000000 --- a/db/migrate/20200913091956_create_weapons.rb +++ /dev/null @@ -1,28 +0,0 @@ -class CreateWeapons < ActiveRecord::Migration[6.0] - def change - create_table :weapons, id: :uuid, default: -> { "gen_random_uuid()" } do |t| - t.string :name_en - t.string :name_jp - t.string :granblue_id - - t.integer :rarity - t.integer :element - t.integer :proficiency - t.string :series - - t.boolean :flb - t.boolean :ulb - - t.integer :max_level - t.integer :max_skill_level - t.integer :min_hp - t.integer :max_hp - t.integer :max_hp_flb - t.integer :max_hp_ulb - t.integer :min_atk - t.integer :max_atk - t.integer :max_atk_flb - t.integer :max_atk_ulb - end - end -end diff --git a/db/migrate/20200913092001_create_parties.rb b/db/migrate/20200913092001_create_parties.rb deleted file mode 100644 index 2d773be..0000000 --- a/db/migrate/20200913092001_create_parties.rb +++ /dev/null @@ -1,11 +0,0 @@ -class CreateParties < ActiveRecord::Migration[6.0] - def change - create_table :parties, id: :uuid, default: -> { "gen_random_uuid()" } do |t| - t.references :user, type: :uuid - - t.string :shortcode - - t.timestamps - end - end -end diff --git a/db/migrate/20200913092024_create_grid_weapons.rb b/db/migrate/20200913092024_create_grid_weapons.rb deleted file mode 100644 index 34eada4..0000000 --- a/db/migrate/20200913092024_create_grid_weapons.rb +++ /dev/null @@ -1,17 +0,0 @@ -class CreateGridWeapons < ActiveRecord::Migration[6.0] - def change - create_table :grid_weapons, id: :uuid, default: -> { "gen_random_uuid()" } do |t| - t.references :party, type: :uuid - t.references :weapon, type: :uuid - - t.references :weapon_key1, class_name: 'WeaponKey', type: :uuid - t.references :weapon_key2, class_name: 'WeaponKey', type: :uuid - - t.integer :uncap_level - t.boolean :mainhand - t.integer :position - - t.timestamps - end - end -end diff --git a/db/migrate/20200913092045_create_weapon_keys.rb b/db/migrate/20200913092045_create_weapon_keys.rb deleted file mode 100644 index 6e5c7d0..0000000 --- a/db/migrate/20200913092045_create_weapon_keys.rb +++ /dev/null @@ -1,13 +0,0 @@ -class CreateWeaponKeys < ActiveRecord::Migration[6.0] - def change - create_table :weapon_keys, id: :uuid, default: -> { "gen_random_uuid()" } do |t| - t.string :name_en - t.string :name_jp - - t.integer :series - t.integer :type - - t.timestamps - end - end -end diff --git a/db/migrate/20200923205642_create_doorkeeper_tables.rb b/db/migrate/20200923205642_create_doorkeeper_tables.rb deleted file mode 100644 index c071193..0000000 --- a/db/migrate/20200923205642_create_doorkeeper_tables.rb +++ /dev/null @@ -1,70 +0,0 @@ -# frozen_string_literal: true - -class CreateDoorkeeperTables < ActiveRecord::Migration[6.0] - def change - create_table :oauth_applications, id: :uuid do |t| - t.string :name, null: false - t.string :uid, null: false - t.string :secret, null: false - t.text :redirect_uri, null: false - t.string :scopes, null: false, default: '' - t.timestamps null: false - end - - add_index :oauth_applications, :uid, unique: true - - create_table :oauth_access_grants, id: :uuid do |t| - t.uuid :resource_owner_id, null: false - t.uuid :application_id, null: false - t.string :token, null: false - t.integer :expires_in, null: false - t.text :redirect_uri, null: false - t.datetime :created_at, null: false - t.datetime :revoked_at - t.string :scopes - end - - add_index :oauth_access_grants, :token, unique: true - add_foreign_key( - :oauth_access_grants, - :oauth_applications, - column: :application_id - ) - - create_table :oauth_access_tokens, id: :uuid do |t| - t.uuid :resource_owner_id - t.uuid :application_id - - # If you use a custom token generator you may need to change this column - # from string to text, so that it accepts tokens larger than 255 - # characters. More info on custom token generators in: - # https://github.com/doorkeeper-gem/doorkeeper/tree/v3.0.0.rc1#custom-access-token-generator - # - # t.text :token, null: false - t.string :token, null: false - - t.string :refresh_token - t.integer :expires_in - t.datetime :revoked_at - t.datetime :created_at, null: false - t.string :scopes - - # If there is a previous_refresh_token column, - # refresh tokens will be revoked after a related access token is used. - # If there is no previous_refresh_token column, - # previous tokens are revoked as soon as a new access token is created. - # Comment out this line if you'd rather have refresh tokens - # instantly revoked. - t.string :previous_refresh_token, null: false, default: "" - end - - add_index :oauth_access_tokens, :token, unique: true - add_index :oauth_access_tokens, :resource_owner_id - add_index :oauth_access_tokens, :refresh_token, unique: true - add_foreign_key( - :oauth_access_tokens, - :oauth_applications, - column: :application_id - ) - end -end diff --git a/db/migrate/20201017013942_create_summons.rb b/db/migrate/20201017013942_create_summons.rb deleted file mode 100644 index def5297..0000000 --- a/db/migrate/20201017013942_create_summons.rb +++ /dev/null @@ -1,26 +0,0 @@ -class CreateSummons < ActiveRecord::Migration[6.0] - def change - create_table :summons, id: :uuid, default: -> { "gen_random_uuid()" } do |t| - t.string :name_en - t.string :name_jp - t.string :granblue_id - - t.integer :rarity - t.integer :element - t.string :series - - t.boolean :flb - t.boolean :ulb - - t.integer :max_level - t.integer :min_hp - t.integer :max_hp - t.integer :max_hp_flb - t.integer :max_hp_ulb - t.integer :min_atk - t.integer :max_atk - t.integer :max_atk_flb - t.integer :max_atk_ulb - end - end -end diff --git a/db/migrate/20201017013949_create_grid_summons.rb b/db/migrate/20201017013949_create_grid_summons.rb deleted file mode 100644 index 90220ca..0000000 --- a/db/migrate/20201017013949_create_grid_summons.rb +++ /dev/null @@ -1,15 +0,0 @@ -class CreateGridSummons < ActiveRecord::Migration[6.0] - def change - create_table :grid_summons, id: :uuid, default: -> { "gen_random_uuid()" } do |t| - t.references :party, type: :uuid - t.references :summon, type: :uuid - - t.integer :uncap_level - t.boolean :main - t.boolean :friend - t.integer :position - - t.timestamps - end - end -end diff --git a/db/migrate/20201019103216_create_characters.rb b/db/migrate/20201019103216_create_characters.rb deleted file mode 100644 index 87982e9..0000000 --- a/db/migrate/20201019103216_create_characters.rb +++ /dev/null @@ -1,32 +0,0 @@ -class CreateCharacters < ActiveRecord::Migration[6.0] - def change - create_table :characters, id: :uuid, default: -> { "gen_random_uuid()" } do |t| - t.string :name_en - t.string :name_jp - t.string :granblue_id - - t.integer :rarity - t.integer :element - t.integer :proficiency1 - t.integer :proficiency2 - t.integer :gender - t.integer :race1 - t.integer :race2 - - t.boolean :flb - t.boolean :max_level - - t.integer :min_hp - t.integer :max_hp - t.integer :max_hp_flb - t.integer :min_atk - t.integer :max_atk - t.integer :max_atk_flb - - t.integer :base_da - t.integer :base_ta - t.float :ougi_ratio - t.float :ougi_ratio_flb - end - end -end diff --git a/db/migrate/20201019103224_create_grid_characters.rb b/db/migrate/20201019103224_create_grid_characters.rb deleted file mode 100644 index ec9b81f..0000000 --- a/db/migrate/20201019103224_create_grid_characters.rb +++ /dev/null @@ -1,13 +0,0 @@ -class CreateGridCharacters < ActiveRecord::Migration[6.0] - def change - create_table :grid_characters do |t| - t.references :party, type: :uuid - t.references :character, type: :uuid - - t.integer :uncap_level - t.integer :position - - t.timestamps - end - end -end diff --git a/db/migrate/20220112182647_add_extra_to_party.rb b/db/migrate/20220112182647_add_extra_to_party.rb deleted file mode 100644 index 95ad89d..0000000 --- a/db/migrate/20220112182647_add_extra_to_party.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddExtraToParty < ActiveRecord::Migration[6.1] - def change - add_column :parties, :extra, :boolean, :default => false, :null => false - end -end diff --git a/db/migrate/20220112182710_add_extra_to_weapons.rb b/db/migrate/20220112182710_add_extra_to_weapons.rb deleted file mode 100644 index 9753f08..0000000 --- a/db/migrate/20220112182710_add_extra_to_weapons.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddExtraToWeapons < ActiveRecord::Migration[6.1] - def change - add_column :weapons, :extra, :boolean, :default => false, :null => false - end -end diff --git a/db/migrate/20220115054302_add_subaura_to_summons.rb b/db/migrate/20220115054302_add_subaura_to_summons.rb deleted file mode 100644 index 0c56265..0000000 --- a/db/migrate/20220115054302_add_subaura_to_summons.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddSubauraToSummons < ActiveRecord::Migration[6.1] - def change - add_column :summons, :subaura, :boolean, :default => false, :null => false - end -end diff --git a/db/migrate/20220115060945_add_limits_to_weapons.rb b/db/migrate/20220115060945_add_limits_to_weapons.rb deleted file mode 100644 index d012df8..0000000 --- a/db/migrate/20220115060945_add_limits_to_weapons.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddLimitsToWeapons < ActiveRecord::Migration[6.1] - def change - add_column :weapons, :limit, :integer - end -end diff --git a/db/migrate/20220115062109_add_limits_to_summons.rb b/db/migrate/20220115062109_add_limits_to_summons.rb deleted file mode 100644 index a190466..0000000 --- a/db/migrate/20220115062109_add_limits_to_summons.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddLimitsToSummons < ActiveRecord::Migration[6.1] - def change - add_column :summons, :limit, :integer - end -end diff --git a/db/migrate/20220128183524_add_default_to_lb_on_weapons.rb b/db/migrate/20220128183524_add_default_to_lb_on_weapons.rb deleted file mode 100644 index d7512d3..0000000 --- a/db/migrate/20220128183524_add_default_to_lb_on_weapons.rb +++ /dev/null @@ -1,13 +0,0 @@ -class AddDefaultToLbOnWeapons < ActiveRecord::Migration[6.1] - def change - def self.up - change_column :weapons, :flb, :boolean, default: false - change_column :weapons, :ulb, :boolean, default: false - end - - def self.down - change_column :weapons, :flb, :boolean, default: nil - change_column :weapons, :ulb, :boolean, default: nil - end - end -end diff --git a/db/migrate/20220128183534_add_ax_to_weapons.rb b/db/migrate/20220128183534_add_ax_to_weapons.rb deleted file mode 100644 index cce6a76..0000000 --- a/db/migrate/20220128183534_add_ax_to_weapons.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddAxToWeapons < ActiveRecord::Migration[6.1] - def change - add_column :weapons, :ax, :integer - end -end diff --git a/db/migrate/20220202005218_add_special_to_characters.rb b/db/migrate/20220202005218_add_special_to_characters.rb deleted file mode 100644 index c146324..0000000 --- a/db/migrate/20220202005218_add_special_to_characters.rb +++ /dev/null @@ -1,10 +0,0 @@ -class AddSpecialToCharacters < ActiveRecord::Migration[6.1] - def up - add_column :characters, :special, :boolean, :default => false - change_column_null :characters, :special, false - end - - def down - remove_column :characters, :special, :boolean - end -end diff --git a/db/migrate/20220204092257_add_ulb_to_characters.rb b/db/migrate/20220204092257_add_ulb_to_characters.rb deleted file mode 100644 index 088a873..0000000 --- a/db/migrate/20220204092257_add_ulb_to_characters.rb +++ /dev/null @@ -1,15 +0,0 @@ -class AddUlbToCharacters < ActiveRecord::Migration[6.1] - def up - add_column :characters, :ulb, :boolean, :default => false - add_column :characters, :max_hp_ulb, :integer - add_column :characters, :max_atk_ulb, :integer - change_column_null :characters, :ulb, false - change_column_null :characters, :flb, false - end - - def down - remove_column :characters, :ulb, :boolean - remove_column :characters, :max_hp_ulb, :integer - remove_column :characters, :max_atk_ulb, :integer - end -end diff --git a/db/migrate/20220204093125_remove_max_level_from_characters.rb b/db/migrate/20220204093125_remove_max_level_from_characters.rb deleted file mode 100644 index 3ea6122..0000000 --- a/db/migrate/20220204093125_remove_max_level_from_characters.rb +++ /dev/null @@ -1,5 +0,0 @@ -class RemoveMaxLevelFromCharacters < ActiveRecord::Migration[6.1] - def change - remove_column :characters, :max_level, :boolean - end -end diff --git a/db/migrate/20220223213142_add_uuid_to_grid_character.rb b/db/migrate/20220223213142_add_uuid_to_grid_character.rb deleted file mode 100644 index a77436b..0000000 --- a/db/migrate/20220223213142_add_uuid_to_grid_character.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddUuidToGridCharacter < ActiveRecord::Migration[6.1] - def change - add_column :grid_characters, :uuid, :uuid, default: "gen_random_uuid()", null: false - end -end diff --git a/db/migrate/20220223213548_change_grid_character_id_to_uuid.rb b/db/migrate/20220223213548_change_grid_character_id_to_uuid.rb deleted file mode 100644 index aad8a66..0000000 --- a/db/migrate/20220223213548_change_grid_character_id_to_uuid.rb +++ /dev/null @@ -1,10 +0,0 @@ -class ChangeGridCharacterIdToUuid < ActiveRecord::Migration[6.1] - def change - change_table :grid_characters do |t| - t.remove :id - t.rename :uuid, :id - end - - execute "ALTER TABLE grid_characters ADD PRIMARY KEY (id);" - end -end diff --git a/db/migrate/20220224015505_add_details_to_party.rb b/db/migrate/20220224015505_add_details_to_party.rb deleted file mode 100644 index 3292af1..0000000 --- a/db/migrate/20220224015505_add_details_to_party.rb +++ /dev/null @@ -1,13 +0,0 @@ -class AddDetailsToParty < ActiveRecord::Migration[6.1] - def change - create_table :raids, id: :uuid, default: -> { "gen_random_uuid()" } do |t| - t.string :name_en - t.string :name_jp - t.integer :level - end - - add_column :parties, :name, :string - add_column :parties, :description, :text - add_reference :parties, :raids, index: true - end -end diff --git a/db/migrate/20220224024415_add_group_to_raids.rb b/db/migrate/20220224024415_add_group_to_raids.rb deleted file mode 100644 index b256a6b..0000000 --- a/db/migrate/20220224024415_add_group_to_raids.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddGroupToRaids < ActiveRecord::Migration[6.1] - def change - add_column :raids, :group, :integer - end -end diff --git a/db/migrate/20220224044930_fix_raid_association_on_parties.rb b/db/migrate/20220224044930_fix_raid_association_on_parties.rb deleted file mode 100644 index 3cb03c9..0000000 --- a/db/migrate/20220224044930_fix_raid_association_on_parties.rb +++ /dev/null @@ -1,6 +0,0 @@ -class FixRaidAssociationOnParties < ActiveRecord::Migration[6.1] - def change - add_column :parties, :raid_id, :uuid - remove_column :parties, :raids_id, :bigint - end -end diff --git a/db/migrate/20220225014523_add_element_to_raids.rb b/db/migrate/20220225014523_add_element_to_raids.rb deleted file mode 100644 index 752588c..0000000 --- a/db/migrate/20220225014523_add_element_to_raids.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddElementToRaids < ActiveRecord::Migration[6.1] - def change - add_column :raids, :element, :integer - end -end diff --git a/db/migrate/20220227042147_add_element_to_parties.rb b/db/migrate/20220227042147_add_element_to_parties.rb deleted file mode 100644 index 8d2f83f..0000000 --- a/db/migrate/20220227042147_add_element_to_parties.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddElementToParties < ActiveRecord::Migration[6.1] - def change - add_column :parties, :element, :integer - end -end diff --git a/db/migrate/20220228014758_create_favorites.rb b/db/migrate/20220228014758_create_favorites.rb deleted file mode 100644 index c0a2d17..0000000 --- a/db/migrate/20220228014758_create_favorites.rb +++ /dev/null @@ -1,9 +0,0 @@ -class CreateFavorites < ActiveRecord::Migration[6.1] - def change - create_table :favorites, id: :uuid, default: -> { "gen_random_uuid()" } do |t| - t.references :user, type: :uuid - t.references :party, type: :uuid - t.timestamps - end - end -end diff --git a/db/migrate/20220301232911_change_weapon_series_to_number.rb b/db/migrate/20220301232911_change_weapon_series_to_number.rb deleted file mode 100644 index 572a117..0000000 --- a/db/migrate/20220301232911_change_weapon_series_to_number.rb +++ /dev/null @@ -1,5 +0,0 @@ -class ChangeWeaponSeriesToNumber < ActiveRecord::Migration[6.1] - def change - change_column :weapons, :series, 'integer USING CAST(element AS integer)' - end -end diff --git a/db/migrate/20220302050159_remove_timestamps_from_weapon_keys.rb b/db/migrate/20220302050159_remove_timestamps_from_weapon_keys.rb deleted file mode 100644 index 2babc31..0000000 --- a/db/migrate/20220302050159_remove_timestamps_from_weapon_keys.rb +++ /dev/null @@ -1,6 +0,0 @@ -class RemoveTimestampsFromWeaponKeys < ActiveRecord::Migration[6.1] - def change - remove_column :weapon_keys, :created_at, :datetime - remove_column :weapon_keys, :updated_at, :datetime - end -end diff --git a/db/migrate/20220302050213_add_sub_type_to_weapon_keys.rb b/db/migrate/20220302050213_add_sub_type_to_weapon_keys.rb deleted file mode 100644 index 484fa3b..0000000 --- a/db/migrate/20220302050213_add_sub_type_to_weapon_keys.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddSubTypeToWeaponKeys < ActiveRecord::Migration[6.1] - def change - add_column :weapon_keys, :subtype, :integer - end -end diff --git a/db/migrate/20220302054003_add_weapon_key3_to_grid_weapons.rb b/db/migrate/20220302054003_add_weapon_key3_to_grid_weapons.rb deleted file mode 100644 index e149bf3..0000000 --- a/db/migrate/20220302054003_add_weapon_key3_to_grid_weapons.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddWeaponKey3ToGridWeapons < ActiveRecord::Migration[6.1] - def change - add_reference :grid_weapons, :weapon_key3, type: :uuid, foreign_key: { to_table: :weapon_keys } - end -end diff --git a/db/migrate/20220302054011_add_ax_to_grid_weapons.rb b/db/migrate/20220302054011_add_ax_to_grid_weapons.rb deleted file mode 100644 index 95bc240..0000000 --- a/db/migrate/20220302054011_add_ax_to_grid_weapons.rb +++ /dev/null @@ -1,8 +0,0 @@ -class AddAxToGridWeapons < ActiveRecord::Migration[6.1] - def change - add_column :grid_weapons, :ax_modifier1, :integer - add_column :grid_weapons, :ax_strength1, :float - add_column :grid_weapons, :ax_modifier2, :integer - add_column :grid_weapons, :ax_strength2, :float - end -end diff --git a/db/migrate/20220302054021_add_element_to_grid_weapons.rb b/db/migrate/20220302054021_add_element_to_grid_weapons.rb deleted file mode 100644 index e671c12..0000000 --- a/db/migrate/20220302054021_add_element_to_grid_weapons.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddElementToGridWeapons < ActiveRecord::Migration[6.1] - def change - add_column :grid_weapons, :element, :integer - end -end diff --git a/db/migrate/20220302061525_add_perpetuity_to_grid_characters.rb b/db/migrate/20220302061525_add_perpetuity_to_grid_characters.rb deleted file mode 100644 index fb89fc6..0000000 --- a/db/migrate/20220302061525_add_perpetuity_to_grid_characters.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddPerpetuityToGridCharacters < ActiveRecord::Migration[6.1] - def change - add_column :grid_characters, :perpetuity, :boolean - end -end diff --git a/db/migrate/20220302071015_rename_type_and_sub_type_in_weapon_keys.rb b/db/migrate/20220302071015_rename_type_and_sub_type_in_weapon_keys.rb deleted file mode 100644 index 3067f60..0000000 --- a/db/migrate/20220302071015_rename_type_and_sub_type_in_weapon_keys.rb +++ /dev/null @@ -1,6 +0,0 @@ -class RenameTypeAndSubTypeInWeaponKeys < ActiveRecord::Migration[6.1] - def change - rename_column :weapon_keys, :type, :slot - rename_column :weapon_keys, :subtype, :group - end -end diff --git a/db/migrate/20220303092208_add_order_to_weapon_keys.rb b/db/migrate/20220303092208_add_order_to_weapon_keys.rb deleted file mode 100644 index 80083b3..0000000 --- a/db/migrate/20220303092208_add_order_to_weapon_keys.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddOrderToWeaponKeys < ActiveRecord::Migration[6.1] - def change - add_column :weapon_keys, :order, :integer - end -end diff --git a/db/migrate/20220304091218_add_fields_to_user.rb b/db/migrate/20220304091218_add_fields_to_user.rb deleted file mode 100644 index 591c396..0000000 --- a/db/migrate/20220304091218_add_fields_to_user.rb +++ /dev/null @@ -1,7 +0,0 @@ -class AddFieldsToUser < ActiveRecord::Migration[6.1] - def change - add_column :users, :picture, :string - add_column :users, :language, :string - add_column :users, :private, :boolean - end -end diff --git a/db/migrate/20220304091854_add_default_values_to_user.rb b/db/migrate/20220304091854_add_default_values_to_user.rb deleted file mode 100644 index e9c4ca0..0000000 --- a/db/migrate/20220304091854_add_default_values_to_user.rb +++ /dev/null @@ -1,7 +0,0 @@ -class AddDefaultValuesToUser < ActiveRecord::Migration[6.1] - def change - change_column :users, :picture, :string, :default => "gran" - change_column :users, :language, :string, :default => "en" - change_column :users, :private, :boolean, :default => false - end -end diff --git a/db/migrate/20220304092134_add_not_nullable_to_user.rb b/db/migrate/20220304092134_add_not_nullable_to_user.rb deleted file mode 100644 index 73cd9e2..0000000 --- a/db/migrate/20220304092134_add_not_nullable_to_user.rb +++ /dev/null @@ -1,6 +0,0 @@ -class AddNotNullableToUser < ActiveRecord::Migration[6.1] - def change - change_column :users, :language, :string, :default => "en", :null => false - change_column :users, :private, :boolean, :default => false, :null => false - end -end diff --git a/db/migrate/20220304115434_add_element_to_user.rb b/db/migrate/20220304115434_add_element_to_user.rb deleted file mode 100644 index 4167858..0000000 --- a/db/migrate/20220304115434_add_element_to_user.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddElementToUser < ActiveRecord::Migration[6.1] - def change - add_column :users, :element, :string, :default => "water", :null => false - end -end diff --git a/db/migrate/20220306131942_add_slug_to_raids.rb b/db/migrate/20220306131942_add_slug_to_raids.rb deleted file mode 100644 index 41c6ab1..0000000 --- a/db/migrate/20220306131942_add_slug_to_raids.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddSlugToRaids < ActiveRecord::Migration[6.1] - def change - add_column :raids, :slug, :string - end -end diff --git a/db/migrate/20220308101922_add_gin_index_to_weapons.rb b/db/migrate/20220308101922_add_gin_index_to_weapons.rb deleted file mode 100644 index d5cd389..0000000 --- a/db/migrate/20220308101922_add_gin_index_to_weapons.rb +++ /dev/null @@ -1,7 +0,0 @@ -class AddGinIndexToWeapons < ActiveRecord::Migration[6.1] - def change - enable_extension "pg_trgm" - enable_extension "btree_gin" - add_index :weapons, :name_en, using: :gin, opclass: :gin_trgm_ops - end -end diff --git a/db/migrate/20220309013333_add_gin_index_to_summons_and_characters.rb b/db/migrate/20220309013333_add_gin_index_to_summons_and_characters.rb deleted file mode 100644 index 63cac37..0000000 --- a/db/migrate/20220309013333_add_gin_index_to_summons_and_characters.rb +++ /dev/null @@ -1,6 +0,0 @@ -class AddGinIndexToSummonsAndCharacters < ActiveRecord::Migration[6.1] - def change - add_index :summons, :name_en, using: :gin, opclass: :gin_trgm_ops - add_index :characters, :name_en, using: :gin, opclass: :gin_trgm_ops - end -end diff --git a/db/migrate/20220315005952_add_weapons_count_to_parties.rb b/db/migrate/20220315005952_add_weapons_count_to_parties.rb deleted file mode 100644 index cbd8e8e..0000000 --- a/db/migrate/20220315005952_add_weapons_count_to_parties.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddWeaponsCountToParties < ActiveRecord::Migration[6.1] - def change - add_column :parties, :weapons_count, :integer - end -end diff --git a/db/migrate/20220315011802_populate_party_weapons_count.rb b/db/migrate/20220315011802_populate_party_weapons_count.rb deleted file mode 100644 index ff52183..0000000 --- a/db/migrate/20220315011802_populate_party_weapons_count.rb +++ /dev/null @@ -1,7 +0,0 @@ -class PopulatePartyWeaponsCount < ActiveRecord::Migration[6.1] - def up - Party.find_each do |party| - Party.reset_counters(party.id, :weapons) - end - end -end diff --git a/db/migrate/20220322080142_create_classes.rb b/db/migrate/20220322080142_create_classes.rb deleted file mode 100644 index 2a9e840..0000000 --- a/db/migrate/20220322080142_create_classes.rb +++ /dev/null @@ -1,14 +0,0 @@ -class CreateClasses < ActiveRecord::Migration[6.0] - def change - create_table :classes, id: :uuid, default: -> { "gen_random_uuid()" } do |t| - t.string :name_en - t.string :name_jp - - t.integer :proficiency1 - t.integer :proficiency2 - - t.string :row - t.boolean :ml, default: false - end - end -end \ No newline at end of file diff --git a/db/migrate/20220322084824_add_class_and_ml_to_party.rb b/db/migrate/20220322084824_add_class_and_ml_to_party.rb deleted file mode 100644 index 174b0fe..0000000 --- a/db/migrate/20220322084824_add_class_and_ml_to_party.rb +++ /dev/null @@ -1,6 +0,0 @@ -class AddClassAndMlToParty < ActiveRecord::Migration[6.1] - def change - add_reference :parties, :class, name: :class_id, type: :uuid, foreign_key: { to_table: :classes } - add_column :parties, :ml, :integer - end -end diff --git a/db/migrate/20220322085948_add_foreign_key_relations_to_parties.rb b/db/migrate/20220322085948_add_foreign_key_relations_to_parties.rb deleted file mode 100644 index 4c43d9a..0000000 --- a/db/migrate/20220322085948_add_foreign_key_relations_to_parties.rb +++ /dev/null @@ -1,6 +0,0 @@ -class AddForeignKeyRelationsToParties < ActiveRecord::Migration[6.1] - def change - add_foreign_key :parties, :users - add_foreign_key :parties, :raids - end -end diff --git a/db/migrate/20220322090752_add_foreign_key_relations_to_favorites.rb b/db/migrate/20220322090752_add_foreign_key_relations_to_favorites.rb deleted file mode 100644 index 15eff39..0000000 --- a/db/migrate/20220322090752_add_foreign_key_relations_to_favorites.rb +++ /dev/null @@ -1,6 +0,0 @@ -class AddForeignKeyRelationsToFavorites < ActiveRecord::Migration[6.1] - def change - add_foreign_key :favorites, :users - add_foreign_key :favorites, :parties - end -end diff --git a/db/migrate/20220322090832_add_foreign_key_relations_to_objects.rb b/db/migrate/20220322090832_add_foreign_key_relations_to_objects.rb deleted file mode 100644 index 75e952d..0000000 --- a/db/migrate/20220322090832_add_foreign_key_relations_to_objects.rb +++ /dev/null @@ -1,12 +0,0 @@ -class AddForeignKeyRelationsToObjects < ActiveRecord::Migration[6.1] - def change - add_foreign_key :grid_characters, :parties - add_foreign_key :grid_characters, :characters - - add_foreign_key :grid_weapons, :parties - add_foreign_key :grid_weapons, :weapons - - add_foreign_key :grid_summons, :parties - add_foreign_key :grid_summons, :summons - end -end diff --git a/db/migrate/20220322091731_add_default_perpetuity_to_grid_characters.rb b/db/migrate/20220322091731_add_default_perpetuity_to_grid_characters.rb deleted file mode 100644 index 5f574eb..0000000 --- a/db/migrate/20220322091731_add_default_perpetuity_to_grid_characters.rb +++ /dev/null @@ -1,14 +0,0 @@ -class AddDefaultPerpetuityToGridCharacters < ActiveRecord::Migration[6.1] - def up - GridCharacter.find_each do |char| - char.perpetuity = false - char.save! - end - - change_column :grid_characters, :perpetuity, :boolean, default: false, null: false - end - - def down - - end -end diff --git a/db/migrate/20220322092102_add_defaults_to_characters.rb b/db/migrate/20220322092102_add_defaults_to_characters.rb deleted file mode 100644 index 84ab37c..0000000 --- a/db/migrate/20220322092102_add_defaults_to_characters.rb +++ /dev/null @@ -1,9 +0,0 @@ -class AddDefaultsToCharacters < ActiveRecord::Migration[6.1] - def up - change_column :characters, :flb, :boolean, default: false, null: false - end - - def down - - end -end diff --git a/db/migrate/20220322092252_add_defaults_to_weapons.rb b/db/migrate/20220322092252_add_defaults_to_weapons.rb deleted file mode 100644 index 97ce0f2..0000000 --- a/db/migrate/20220322092252_add_defaults_to_weapons.rb +++ /dev/null @@ -1,24 +0,0 @@ -class AddDefaultsToWeapons < ActiveRecord::Migration[6.1] - def up - Weapon.find_each do |w| - if w.flb.nil? - w.flb = false - w.save! - end - - if w.ulb.nil? - w.ulb = false - w.save! - end - end - - change_column :weapons, :flb, :boolean, default: false, null: false - change_column :weapons, :ulb, :boolean, default: false, null: false - change_column :weapons, :ax, :integer, default: 0, null: false - change_column :weapons, :series, :integer, default: -1, null: false - end - - def down - - end -end diff --git a/db/migrate/20220322092821_add_defaults_to_summons.rb b/db/migrate/20220322092821_add_defaults_to_summons.rb deleted file mode 100644 index 37e9e58..0000000 --- a/db/migrate/20220322092821_add_defaults_to_summons.rb +++ /dev/null @@ -1,24 +0,0 @@ -class AddDefaultsToSummons < ActiveRecord::Migration[6.1] - def change - def up - Summon.find_each do |s| - if s.flb.nil? - s.flb = false - s.save! - end - - if s.ulb.nil? - s.ulb = false - s.save! - end - end - - change_column :summons, :flb, :boolean, default: false, null: false - change_column :summons, :ulb, :boolean, default: false, null: false - end - - def down - - end - end -end diff --git a/db/migrate/20220322095311_change_classes_to_jobs.rb b/db/migrate/20220322095311_change_classes_to_jobs.rb deleted file mode 100644 index 2598325..0000000 --- a/db/migrate/20220322095311_change_classes_to_jobs.rb +++ /dev/null @@ -1,5 +0,0 @@ -class ChangeClassesToJobs < ActiveRecord::Migration[6.1] - def change - rename_table :classes, :jobs - end -end diff --git a/db/migrate/20220322095436_rename_class_id_to_job_id.rb b/db/migrate/20220322095436_rename_class_id_to_job_id.rb deleted file mode 100644 index 4da342a..0000000 --- a/db/migrate/20220322095436_rename_class_id_to_job_id.rb +++ /dev/null @@ -1,5 +0,0 @@ -class RenameClassIdToJobId < ActiveRecord::Migration[6.1] - def change - rename_column :parties, :class_id, :job_id - end -end diff --git a/db/migrate/20220322103920_add_order_to_jobs.rb b/db/migrate/20220322103920_add_order_to_jobs.rb deleted file mode 100644 index 0cd8177..0000000 --- a/db/migrate/20220322103920_add_order_to_jobs.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddOrderToJobs < ActiveRecord::Migration[6.1] - def change - add_column :jobs, :order, :integer - end -end diff --git a/db/migrate/20220410190152_add_gender_to_user.rb b/db/migrate/20220410190152_add_gender_to_user.rb deleted file mode 100644 index da04710..0000000 --- a/db/migrate/20220410190152_add_gender_to_user.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddGenderToUser < ActiveRecord::Migration[6.1] - def change - add_column :users, :gender, :integer, null: false, default: 0 - end -end diff --git a/db/migrate/20221117070255_add_character_id_to_characters.rb b/db/migrate/20221117070255_add_character_id_to_characters.rb deleted file mode 100644 index 3d1ce90..0000000 --- a/db/migrate/20221117070255_add_character_id_to_characters.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddCharacterIdToCharacters < ActiveRecord::Migration[6.1] - def change - add_column :characters, :character_id, :integer, array: true, null: false, default: [] - end -end diff --git a/db/migrate/20221120055510_add_job_skills_table.rb b/db/migrate/20221120055510_add_job_skills_table.rb deleted file mode 100644 index b21a873..0000000 --- a/db/migrate/20221120055510_add_job_skills_table.rb +++ /dev/null @@ -1,14 +0,0 @@ -class AddJobSkillsTable < ActiveRecord::Migration[6.1] - def change - create_table :job_skills, id: :uuid, default: -> { "gen_random_uuid()" } do |t| - t.references :job, type: :uuid - t.string :name_en, null: false, unique: true - t.string :name_jp, null: false, unique: true - t.string :slug, null: false, unique: true - t.integer :color, null: false - t.boolean :main, default: false - t.boolean :sub, default: false - t.boolean :emp, default: false - end - end -end diff --git a/db/migrate/20221120065331_remove_null_constraint_from_job_skills.rb b/db/migrate/20221120065331_remove_null_constraint_from_job_skills.rb deleted file mode 100644 index 8aa1a7f..0000000 --- a/db/migrate/20221120065331_remove_null_constraint_from_job_skills.rb +++ /dev/null @@ -1,6 +0,0 @@ -class RemoveNullConstraintFromJobSkills < ActiveRecord::Migration[6.1] - def change - change_column :job_skills, :name_en, :string, unique: false - change_column :job_skills, :name_jp, :string, unique: false - end -end diff --git a/db/migrate/20221120075133_add_order_to_job_skills.rb b/db/migrate/20221120075133_add_order_to_job_skills.rb deleted file mode 100644 index c244627..0000000 --- a/db/migrate/20221120075133_add_order_to_job_skills.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddOrderToJobSkills < ActiveRecord::Migration[6.1] - def change - add_column :job_skills, :order, :integer - end -end diff --git a/db/migrate/20221120135403_add_base_and_group_to_job_skills.rb b/db/migrate/20221120135403_add_base_and_group_to_job_skills.rb deleted file mode 100644 index 1644821..0000000 --- a/db/migrate/20221120135403_add_base_and_group_to_job_skills.rb +++ /dev/null @@ -1,6 +0,0 @@ -class AddBaseAndGroupToJobSkills < ActiveRecord::Migration[6.1] - def change - add_column :job_skills, :base, :boolean, default: false - add_column :job_skills, :group, :integer - end -end diff --git a/db/migrate/20221120145204_remove_group_from_job_skills.rb b/db/migrate/20221120145204_remove_group_from_job_skills.rb deleted file mode 100644 index 6f82de9..0000000 --- a/db/migrate/20221120145204_remove_group_from_job_skills.rb +++ /dev/null @@ -1,5 +0,0 @@ -class RemoveGroupFromJobSkills < ActiveRecord::Migration[6.1] - def change - remove_column :job_skills, :group, :integer - end -end diff --git a/db/migrate/20221130155225_add_job_skills_to_party.rb b/db/migrate/20221130155225_add_job_skills_to_party.rb deleted file mode 100644 index d993378..0000000 --- a/db/migrate/20221130155225_add_job_skills_to_party.rb +++ /dev/null @@ -1,9 +0,0 @@ -class AddJobSkillsToParty < ActiveRecord::Migration[6.1] - def change - change_table(:parties) do |t| - t.references :skill1, type: :uuid, foreign_key: { to_table: 'job_skills' } - t.references :skill2, type: :uuid, foreign_key: { to_table: 'job_skills' } - t.references :skill3, type: :uuid, foreign_key: { to_table: 'job_skills' } - end - end -end diff --git a/db/migrate/20221201123645_add_skill0_to_party.rb b/db/migrate/20221201123645_add_skill0_to_party.rb deleted file mode 100644 index f5e66d4..0000000 --- a/db/migrate/20221201123645_add_skill0_to_party.rb +++ /dev/null @@ -1,7 +0,0 @@ -class AddSkill0ToParty < ActiveRecord::Migration[6.1] - def change - change_table(:parties) do |t| - t.references :skill0, type: :uuid, foreign_key: { to_table: "job_skills" } - end - end -end diff --git a/db/migrate/20221203112452_add_base_job_to_jobs.rb b/db/migrate/20221203112452_add_base_job_to_jobs.rb deleted file mode 100644 index e689758..0000000 --- a/db/migrate/20221203112452_add_base_job_to_jobs.rb +++ /dev/null @@ -1,7 +0,0 @@ -class AddBaseJobToJobs < ActiveRecord::Migration[6.1] - def change - change_table(:jobs) do |t| - t.references :base_job, type: :uuid, foreign_key: { to_table: 'jobs' } - end - end -end diff --git a/db/migrate/20221221083115_add_awakening_to_grid_weapons.rb b/db/migrate/20221221083115_add_awakening_to_grid_weapons.rb deleted file mode 100644 index 8b719de..0000000 --- a/db/migrate/20221221083115_add_awakening_to_grid_weapons.rb +++ /dev/null @@ -1,6 +0,0 @@ -class AddAwakeningToGridWeapons < ActiveRecord::Migration[6.1] - def change - add_column :grid_weapons, :awakening_type, :integer, null: true - add_column :grid_weapons, :awakening_level, :integer, null: false, default: 1 - end -end diff --git a/db/migrate/20221221083126_add_awakening_to_grid_characters.rb b/db/migrate/20221221083126_add_awakening_to_grid_characters.rb deleted file mode 100644 index 2cee407..0000000 --- a/db/migrate/20221221083126_add_awakening_to_grid_characters.rb +++ /dev/null @@ -1,6 +0,0 @@ -class AddAwakeningToGridCharacters < ActiveRecord::Migration[6.1] - def change - add_column :grid_characters, :awakening_type, :integer, null: false, default: 0 - add_column :grid_characters, :awakening_level, :integer, null: false, default: 1 - end -end diff --git a/db/migrate/20221221084556_add_awakening_to_weapons.rb b/db/migrate/20221221084556_add_awakening_to_weapons.rb deleted file mode 100644 index 39477fd..0000000 --- a/db/migrate/20221221084556_add_awakening_to_weapons.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddAwakeningToWeapons < ActiveRecord::Migration[6.1] - def change - add_column :weapons, :awakening, :boolean, null: false, default: true - end -end diff --git a/db/migrate/20221224065845_add_slug_to_weapon_keys.rb b/db/migrate/20221224065845_add_slug_to_weapon_keys.rb deleted file mode 100644 index ff19884..0000000 --- a/db/migrate/20221224065845_add_slug_to_weapon_keys.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddSlugToWeaponKeys < ActiveRecord::Migration[6.1] - def change - add_column :weapon_keys, :slug, :string - end -end diff --git a/db/migrate/20221225235726_add_theme_to_user.rb b/db/migrate/20221225235726_add_theme_to_user.rb deleted file mode 100644 index a4c41d5..0000000 --- a/db/migrate/20221225235726_add_theme_to_user.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddThemeToUser < ActiveRecord::Migration[6.1] - def change - add_column :users, :theme, :string - end -end diff --git a/db/migrate/20221226000952_set_default_value_to_theme.rb b/db/migrate/20221226000952_set_default_value_to_theme.rb deleted file mode 100644 index 4bff6fb..0000000 --- a/db/migrate/20221226000952_set_default_value_to_theme.rb +++ /dev/null @@ -1,5 +0,0 @@ -class SetDefaultValueToTheme < ActiveRecord::Migration[6.1] - def change - change_column :users, :theme, :string, null: false, default: 'system' - end -end diff --git a/db/migrate/20221226054501_set_defaults_on_weapons.rb b/db/migrate/20221226054501_set_defaults_on_weapons.rb deleted file mode 100644 index 1ebc2e5..0000000 --- a/db/migrate/20221226054501_set_defaults_on_weapons.rb +++ /dev/null @@ -1,6 +0,0 @@ -class SetDefaultsOnWeapons < ActiveRecord::Migration[6.1] - def change - change_column :weapons, :max_level, :integer, null: false, default: 100 - change_column :weapons, :max_skill_level, :integer, null: false, default: 10 - end -end diff --git a/db/migrate/20230102154816_change_limit_to_boolean.rb b/db/migrate/20230102154816_change_limit_to_boolean.rb deleted file mode 100644 index 65c36f5..0000000 --- a/db/migrate/20230102154816_change_limit_to_boolean.rb +++ /dev/null @@ -1,6 +0,0 @@ -class ChangeLimitToBoolean < ActiveRecord::Migration[6.1] - def change - add_column :weapons, :limit2, :boolean, default: false, null: false - add_column :summons, :limit2, :boolean, default: false, null: false - end -end diff --git a/db/migrate/20230102161702_remove_limit_from_weapons.rb b/db/migrate/20230102161702_remove_limit_from_weapons.rb deleted file mode 100644 index f8e248c..0000000 --- a/db/migrate/20230102161702_remove_limit_from_weapons.rb +++ /dev/null @@ -1,5 +0,0 @@ -class RemoveLimitFromWeapons < ActiveRecord::Migration[6.1] - def change - remove_column :weapons, :limit, :integer - end -end diff --git a/db/migrate/20230102161738_rename_limit2_on_weapon.rb b/db/migrate/20230102161738_rename_limit2_on_weapon.rb deleted file mode 100644 index 5981c35..0000000 --- a/db/migrate/20230102161738_rename_limit2_on_weapon.rb +++ /dev/null @@ -1,5 +0,0 @@ -class RenameLimit2OnWeapon < ActiveRecord::Migration[6.1] - def change - rename_column :weapons, :limit2, :limit - end -end diff --git a/db/migrate/20230102161820_remove_limit_from_summons.rb b/db/migrate/20230102161820_remove_limit_from_summons.rb deleted file mode 100644 index 324dc7c..0000000 --- a/db/migrate/20230102161820_remove_limit_from_summons.rb +++ /dev/null @@ -1,5 +0,0 @@ -class RemoveLimitFromSummons < ActiveRecord::Migration[6.1] - def change - remove_column :summons, :limit, :integer - end -end diff --git a/db/migrate/20230102161941_rename_limit2_on_summons.rb b/db/migrate/20230102161941_rename_limit2_on_summons.rb deleted file mode 100644 index f5478dc..0000000 --- a/db/migrate/20230102161941_rename_limit2_on_summons.rb +++ /dev/null @@ -1,5 +0,0 @@ -class RenameLimit2OnSummons < ActiveRecord::Migration[6.1] - def change - rename_column :summons, :limit2, :limit - end -end diff --git a/db/migrate/20230102233405_rename_ax_to_ax_type_on_weapons.rb b/db/migrate/20230102233405_rename_ax_to_ax_type_on_weapons.rb deleted file mode 100644 index d7ce499..0000000 --- a/db/migrate/20230102233405_rename_ax_to_ax_type_on_weapons.rb +++ /dev/null @@ -1,5 +0,0 @@ -class RenameAxToAxTypeOnWeapons < ActiveRecord::Migration[6.1] - def change - rename_column :weapons, :ax, :ax_type - end -end diff --git a/db/migrate/20230102233457_add_boolean_ax_to_weapons.rb b/db/migrate/20230102233457_add_boolean_ax_to_weapons.rb deleted file mode 100644 index 67b86c0..0000000 --- a/db/migrate/20230102233457_add_boolean_ax_to_weapons.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddBooleanAxToWeapons < ActiveRecord::Migration[6.1] - def change - add_column :weapons, :ax, :boolean - end -end diff --git a/db/migrate/20230102233727_change_ax_ax_type_properties.rb b/db/migrate/20230102233727_change_ax_ax_type_properties.rb deleted file mode 100644 index 78c7a78..0000000 --- a/db/migrate/20230102233727_change_ax_ax_type_properties.rb +++ /dev/null @@ -1,6 +0,0 @@ -class ChangeAxAxTypeProperties < ActiveRecord::Migration[6.1] - def change - change_column :weapons, :ax, :boolean, null: false, default: false - change_column :weapons, :ax_type, :integer, null: true, default: nil - end -end diff --git a/db/migrate/20230102234217_add_xlb_to_summons.rb b/db/migrate/20230102234217_add_xlb_to_summons.rb deleted file mode 100644 index 3878206..0000000 --- a/db/migrate/20230102234217_add_xlb_to_summons.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddXlbToSummons < ActiveRecord::Migration[6.1] - def change - add_column :summons, :xlb, :boolean, default: false, null: false - end -end diff --git a/db/migrate/20230102234252_set_defaults_on_summons.rb b/db/migrate/20230102234252_set_defaults_on_summons.rb deleted file mode 100644 index f9307e4..0000000 --- a/db/migrate/20230102234252_set_defaults_on_summons.rb +++ /dev/null @@ -1,7 +0,0 @@ -class SetDefaultsOnSummons < ActiveRecord::Migration[6.1] - def change - change_column :summons, :flb, :boolean, null: false, default: false - change_column :summons, :ulb, :boolean, null: false, default: false - change_column :summons, :max_level, :integer, null: false, default: 100 - end -end diff --git a/db/migrate/20230102234524_add_transcendence_step_to_grid_characters.rb b/db/migrate/20230102234524_add_transcendence_step_to_grid_characters.rb deleted file mode 100644 index f759118..0000000 --- a/db/migrate/20230102234524_add_transcendence_step_to_grid_characters.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddTranscendenceStepToGridCharacters < ActiveRecord::Migration[6.1] - def change - add_column :grid_characters, :transcendence_step, :integer, default: 0, null: false - end -end diff --git a/db/migrate/20230102234632_add_transcendence_step_to_grid_summons.rb b/db/migrate/20230102234632_add_transcendence_step_to_grid_summons.rb deleted file mode 100644 index 8c3d3c7..0000000 --- a/db/migrate/20230102234632_add_transcendence_step_to_grid_summons.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddTranscendenceStepToGridSummons < ActiveRecord::Migration[6.1] - def change - add_column :grid_summons, :transcendence_step, :integer, default: 0, null: false - end -end diff --git a/db/migrate/20230102235042_add_rings_earrings_to_grid_characters.rb b/db/migrate/20230102235042_add_rings_earrings_to_grid_characters.rb deleted file mode 100644 index 2580f1d..0000000 --- a/db/migrate/20230102235042_add_rings_earrings_to_grid_characters.rb +++ /dev/null @@ -1,18 +0,0 @@ -class AddRingsEarringsToGridCharacters < ActiveRecord::Migration[6.1] - def change - add_column :grid_characters, :ring_modifier1, :integer - add_column :grid_characters, :ring_strength1, :float - - add_column :grid_characters, :ring_modifier2, :integer - add_column :grid_characters, :ring_strength2, :float - - add_column :grid_characters, :ring_modifier3, :integer - add_column :grid_characters, :ring_strength3, :float - - add_column :grid_characters, :ring_modifier4, :integer - add_column :grid_characters, :ring_strength4, :float - - add_column :grid_characters, :earring_modifier, :integer - add_column :grid_characters, :earring_strength, :float - end -end diff --git a/db/migrate/20230103111523_add_new_party_details.rb b/db/migrate/20230103111523_add_new_party_details.rb deleted file mode 100644 index 1d2b4b7..0000000 --- a/db/migrate/20230103111523_add_new_party_details.rb +++ /dev/null @@ -1,12 +0,0 @@ -class AddNewPartyDetails < ActiveRecord::Migration[7.0] - def change - add_column :parties, :full_auto, :boolean, default: false, null: false - add_column :parties, :auto_guard, :boolean, default: false, null: false - add_column :parties, :charge_attack, :boolean, default: false, null: false - - add_column :parties, :clear_time, :integer, default: 0, null: false - add_column :parties, :button_count, :integer, default: 0, null: false - add_column :parties, :chain_count, :integer, default: 0, null: false - add_column :parties, :turn_count, :integer, default: 0, null: false - end -end diff --git a/db/migrate/20230103150807_update_turn_count_default.rb b/db/migrate/20230103150807_update_turn_count_default.rb deleted file mode 100644 index c1bdfcd..0000000 --- a/db/migrate/20230103150807_update_turn_count_default.rb +++ /dev/null @@ -1,5 +0,0 @@ -class UpdateTurnCountDefault < ActiveRecord::Migration[7.0] - def change - change_column :parties, :turn_count, :integer, null: false, default: 1 - end -end diff --git a/db/migrate/20230103175004_update_nullable_on_party_details.rb b/db/migrate/20230103175004_update_nullable_on_party_details.rb deleted file mode 100644 index 59d9479..0000000 --- a/db/migrate/20230103175004_update_nullable_on_party_details.rb +++ /dev/null @@ -1,7 +0,0 @@ -class UpdateNullableOnPartyDetails < ActiveRecord::Migration[7.0] - def change - change_column :parties, :button_count, :integer, null: true, default: nil - change_column :parties, :chain_count, :integer, null: true, default: nil - change_column :parties, :turn_count, :integer, null: true, default: nil - end -end diff --git a/db/migrate/20230103180458_change_default_value_on_charge_attack.rb b/db/migrate/20230103180458_change_default_value_on_charge_attack.rb deleted file mode 100644 index 7526a69..0000000 --- a/db/migrate/20230103180458_change_default_value_on_charge_attack.rb +++ /dev/null @@ -1,5 +0,0 @@ -class ChangeDefaultValueOnChargeAttack < ActiveRecord::Migration[7.0] - def change - change_column :parties, :charge_attack, :boolean, null: false, default: true - end -end diff --git a/db/migrate/20230106023753_change_awakening_type_default_value.rb b/db/migrate/20230106023753_change_awakening_type_default_value.rb deleted file mode 100644 index 89d0f01..0000000 --- a/db/migrate/20230106023753_change_awakening_type_default_value.rb +++ /dev/null @@ -1,5 +0,0 @@ -class ChangeAwakeningTypeDefaultValue < ActiveRecord::Migration[7.0] - def change - change_column :grid_characters, :awakening_type, :integer, null: false, default: 1 - end -end diff --git a/db/migrate/20230107121520_change_mastery_columns_to_jsonb.rb b/db/migrate/20230107121520_change_mastery_columns_to_jsonb.rb deleted file mode 100644 index b8319cc..0000000 --- a/db/migrate/20230107121520_change_mastery_columns_to_jsonb.rb +++ /dev/null @@ -1,22 +0,0 @@ -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/migrate/20230107150547_change_awakening_columns_to_jsonb.rb b/db/migrate/20230107150547_change_awakening_columns_to_jsonb.rb deleted file mode 100644 index 3a48821..0000000 --- a/db/migrate/20230107150547_change_awakening_columns_to_jsonb.rb +++ /dev/null @@ -1,10 +0,0 @@ -class ChangeAwakeningColumnsToJsonb < ActiveRecord::Migration[7.0] - def change - # Remove old columns - remove_column :grid_characters, :awakening_type, :integer - remove_column :grid_characters, :awakening_level, :integer - - # Add new column - add_column :grid_characters, :awakening, :jsonb, default: { type: 1, level: 1 } - end -end diff --git a/db/migrate/20230107153724_make_mastery_columns_not_nullable.rb b/db/migrate/20230107153724_make_mastery_columns_not_nullable.rb deleted file mode 100644 index 976ca5a..0000000 --- a/db/migrate/20230107153724_make_mastery_columns_not_nullable.rb +++ /dev/null @@ -1,10 +0,0 @@ -class MakeMasteryColumnsNotNullable < ActiveRecord::Migration[7.0] - def change - change_column :grid_characters, :ring1, :jsonb, null: false - change_column :grid_characters, :ring2, :jsonb, null: false - change_column :grid_characters, :ring3, :jsonb, null: false - change_column :grid_characters, :ring4, :jsonb, null: false - change_column :grid_characters, :earring, :jsonb, null: false - change_column :grid_characters, :awakening, :jsonb, null: false - end -end diff --git a/db/migrate/20230108150956_add_source_party_to_parties.rb b/db/migrate/20230108150956_add_source_party_to_parties.rb deleted file mode 100644 index f2e4071..0000000 --- a/db/migrate/20230108150956_add_source_party_to_parties.rb +++ /dev/null @@ -1,7 +0,0 @@ -class AddSourcePartyToParties < ActiveRecord::Migration[7.0] - def change - change_table(:parties) do |t| - t.references :source_party, type: :uuid, foreign_key: { to_table: 'parties' } - end - end -end diff --git a/db/migrate/20230123035602_add_max_hpatkxlb_to_summon.rb b/db/migrate/20230123035602_add_max_hpatkxlb_to_summon.rb deleted file mode 100644 index a5b5651..0000000 --- a/db/migrate/20230123035602_add_max_hpatkxlb_to_summon.rb +++ /dev/null @@ -1,6 +0,0 @@ -class AddMaxHpatkxlbToSummon < ActiveRecord::Migration[7.0] - def change - add_column :summons, :max_atk_xlb, :integer - add_column :summons, :max_hp_xlb, :integer - end -end diff --git a/db/migrate/20230123055508_add_granblue_id_to_jobs.rb b/db/migrate/20230123055508_add_granblue_id_to_jobs.rb deleted file mode 100644 index 6cf8764..0000000 --- a/db/migrate/20230123055508_add_granblue_id_to_jobs.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddGranblueIdToJobs < ActiveRecord::Migration[7.0] - def change - add_column :jobs, :granblue_id, :string - end -end diff --git a/db/migrate/20230124000252_create_job_accessories.rb b/db/migrate/20230124000252_create_job_accessories.rb deleted file mode 100644 index a016365..0000000 --- a/db/migrate/20230124000252_create_job_accessories.rb +++ /dev/null @@ -1,14 +0,0 @@ -class CreateJobAccessories < ActiveRecord::Migration[7.0] - def change - create_table :job_accessories, id: :uuid, default: -> { "gen_random_uuid()" } do |t| - t.references :job, type: :uuid - - t.string :name_en, null: false, unique: true - t.string :name_jp, null: false, unique: true - t.string :granblue_id, null: false, unique: true - - t.integer :rarity - t.date :release_date - end - end -end diff --git a/db/migrate/20230124013326_add_accessory_type_to_job_accessories.rb b/db/migrate/20230124013326_add_accessory_type_to_job_accessories.rb deleted file mode 100644 index 65a2939..0000000 --- a/db/migrate/20230124013326_add_accessory_type_to_job_accessories.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddAccessoryTypeToJobAccessories < ActiveRecord::Migration[7.0] - def change - add_column :job_accessories, :accessory_type, :integer - end -end diff --git a/db/migrate/20230124100823_add_accessory_id_to_party.rb b/db/migrate/20230124100823_add_accessory_id_to_party.rb deleted file mode 100644 index 2db0567..0000000 --- a/db/migrate/20230124100823_add_accessory_id_to_party.rb +++ /dev/null @@ -1,7 +0,0 @@ -class AddAccessoryIdToParty < ActiveRecord::Migration[7.0] - def change - change_table(:parties) do |t| - t.references :accessory, type: :uuid, foreign_key: { to_table: 'job_accessories' } - end - end -end diff --git a/db/migrate/20230126030358_add_updates_table.rb b/db/migrate/20230126030358_add_updates_table.rb deleted file mode 100644 index 5cb0d54..0000000 --- a/db/migrate/20230126030358_add_updates_table.rb +++ /dev/null @@ -1,8 +0,0 @@ -class AddUpdatesTable < ActiveRecord::Migration[7.0] - def change - create_table :app_updates, id: false do |t| - t.string :update_type, null: false - t.datetime :updated_at, null: false, unique: true, primary_key: true - end - end -end diff --git a/db/migrate/20230126040207_add_version_to_app_updates.rb b/db/migrate/20230126040207_add_version_to_app_updates.rb deleted file mode 100644 index b734840..0000000 --- a/db/migrate/20230126040207_add_version_to_app_updates.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddVersionToAppUpdates < ActiveRecord::Migration[7.0] - def change - add_column :app_updates, :version, :string - end -end diff --git a/db/migrate/20230128091710_add_character_and_summon_counts_to_party.rb b/db/migrate/20230128091710_add_character_and_summon_counts_to_party.rb deleted file mode 100644 index dfd901b..0000000 --- a/db/migrate/20230128091710_add_character_and_summon_counts_to_party.rb +++ /dev/null @@ -1,6 +0,0 @@ -class AddCharacterAndSummonCountsToParty < ActiveRecord::Migration[7.0] - def change - add_column :parties, :characters_count, :integer - add_column :parties, :summons_count, :integer - end -end diff --git a/db/migrate/20230130114432_add_accessory_and_type_to_jobs.rb b/db/migrate/20230130114432_add_accessory_and_type_to_jobs.rb deleted file mode 100644 index 13c460f..0000000 --- a/db/migrate/20230130114432_add_accessory_and_type_to_jobs.rb +++ /dev/null @@ -1,6 +0,0 @@ -class AddAccessoryAndTypeToJobs < ActiveRecord::Migration[7.0] - def change - add_column :jobs, :accessory, :boolean, default: false unless column_exists?(:jobs, :accessory) - add_column :jobs, :accessory_type, :integer, default: 0 unless column_exists?(:jobs, :accessory_type) - end -end diff --git a/db/migrate/20230131082521_add_edit_key_to_parties.rb b/db/migrate/20230131082521_add_edit_key_to_parties.rb deleted file mode 100644 index 02cfe66..0000000 --- a/db/migrate/20230131082521_add_edit_key_to_parties.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddEditKeyToParties < ActiveRecord::Migration[7.0] - def change - add_column :parties, :edit_key, :string, unique: true, null: true - end -end diff --git a/db/migrate/20230131084343_add_local_id_to_parties.rb b/db/migrate/20230131084343_add_local_id_to_parties.rb deleted file mode 100644 index ef363ab..0000000 --- a/db/migrate/20230131084343_add_local_id_to_parties.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddLocalIdToParties < ActiveRecord::Migration[7.0] - def change - add_column :parties, :local_id, :uuid, null: true, unique: true - end -end diff --git a/db/migrate/20230315095656_add_granblue_id_to_weapon_keys.rb b/db/migrate/20230315095656_add_granblue_id_to_weapon_keys.rb deleted file mode 100644 index 31830b7..0000000 --- a/db/migrate/20230315095656_add_granblue_id_to_weapon_keys.rb +++ /dev/null @@ -1,6 +0,0 @@ -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 diff --git a/db/migrate/20230315103026_add_ultimate_mastery.rb b/db/migrate/20230315103026_add_ultimate_mastery.rb deleted file mode 100644 index 149a2a1..0000000 --- a/db/migrate/20230315103026_add_ultimate_mastery.rb +++ /dev/null @@ -1,6 +0,0 @@ -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 diff --git a/db/migrate/20230315103037_rename_ml_to_master_level.rb b/db/migrate/20230315103037_rename_ml_to_master_level.rb deleted file mode 100644 index e060330..0000000 --- a/db/migrate/20230315103037_rename_ml_to_master_level.rb +++ /dev/null @@ -1,7 +0,0 @@ -class RenameMlToMasterLevel < 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 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 deleted file mode 100644 index 098c054..0000000 --- a/db/migrate/20230321115930_add_default_to_counter_cache_on_parties.rb +++ /dev/null @@ -1,7 +0,0 @@ -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/migrate/20230418052314_add_guidebooks.rb b/db/migrate/20230418052314_add_guidebooks.rb deleted file mode 100644 index c74e306..0000000 --- a/db/migrate/20230418052314_add_guidebooks.rb +++ /dev/null @@ -1,12 +0,0 @@ -class AddGuidebooks < ActiveRecord::Migration[7.0] - def change - create_table :guidebooks, id: :uuid, default: -> { "gen_random_uuid()" } do |t| - t.string :granblue_id, null: false, unique: true - t.string :name_en, null: false, unique: true - t.string :name_jp, null: false, unique: true - t.string :description_en, null: false - t.string :description_jp, null: false - t.timestamps - end - end -end diff --git a/db/migrate/20230418052325_add_guidebooks_to_party.rb b/db/migrate/20230418052325_add_guidebooks_to_party.rb deleted file mode 100644 index 9c05639..0000000 --- a/db/migrate/20230418052325_add_guidebooks_to_party.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddGuidebooksToParty < ActiveRecord::Migration[7.0] - def change - add_column :parties, :guidebooks, :uuid, array: true, default: [], null: false - end -end diff --git a/db/migrate/20230418061932_update_guidebooks_structure.rb b/db/migrate/20230418061932_update_guidebooks_structure.rb deleted file mode 100644 index c7005df..0000000 --- a/db/migrate/20230418061932_update_guidebooks_structure.rb +++ /dev/null @@ -1,6 +0,0 @@ -class UpdateGuidebooksStructure < ActiveRecord::Migration[7.0] - def change - remove_column :guidebooks, :updated_at - change_column_default :guidebooks, :created_at, -> { 'CURRENT_TIMESTAMP' } - end -end diff --git a/db/migrate/20230418071647_rename_guidebooks_to_guidebook_i_ds.rb b/db/migrate/20230418071647_rename_guidebooks_to_guidebook_i_ds.rb deleted file mode 100644 index 7b80062..0000000 --- a/db/migrate/20230418071647_rename_guidebooks_to_guidebook_i_ds.rb +++ /dev/null @@ -1,5 +0,0 @@ -class RenameGuidebooksToGuidebookIDs < ActiveRecord::Migration[7.0] - def change - rename_column :parties, :guidebooks, :guidebook_ids - end -end diff --git a/db/migrate/20230419033648_split_guidebooks_on_party.rb b/db/migrate/20230419033648_split_guidebooks_on_party.rb deleted file mode 100644 index 08dc2d2..0000000 --- a/db/migrate/20230419033648_split_guidebooks_on_party.rb +++ /dev/null @@ -1,8 +0,0 @@ -class SplitGuidebooksOnParty < ActiveRecord::Migration[7.0] - def change - remove_column :parties, :guidebook_ids - add_reference :parties, :guidebook0, type: :uuid, foreign_key: { to_table: :guidebooks } - add_reference :parties, :guidebook1, type: :uuid, foreign_key: { to_table: :guidebooks } - add_reference :parties, :guidebook2, type: :uuid, foreign_key: { to_table: :guidebooks } - end -end diff --git a/db/migrate/20230419102354_rename_guidebook_columns.rb b/db/migrate/20230419102354_rename_guidebook_columns.rb deleted file mode 100644 index f7116f6..0000000 --- a/db/migrate/20230419102354_rename_guidebook_columns.rb +++ /dev/null @@ -1,5 +0,0 @@ -class RenameGuidebookColumns < ActiveRecord::Migration[7.0] - def change - rename_column :parties, :guidebook0_id, :guidebook3_id - end -end diff --git a/db/migrate/20230423070004_add_gacha_table.rb b/db/migrate/20230423070004_add_gacha_table.rb deleted file mode 100644 index 264051a..0000000 --- a/db/migrate/20230423070004_add_gacha_table.rb +++ /dev/null @@ -1,13 +0,0 @@ -class AddGachaTable < ActiveRecord::Migration[7.0] - create_table :gacha, id: :uuid, default: -> { "gen_random_uuid()" } do |t| - t.references :drawable, polymorphic: true - t.boolean :premium - t.boolean :classic - t.boolean :flash - t.boolean :legend - t.boolean :valentines - t.boolean :summer - t.boolean :halloween - t.boolean :holiday - end -end diff --git a/db/migrate/20230423071446_add_recruits_to_weapon.rb b/db/migrate/20230423071446_add_recruits_to_weapon.rb deleted file mode 100644 index 21dbf1e..0000000 --- a/db/migrate/20230423071446_add_recruits_to_weapon.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddRecruitsToWeapon < ActiveRecord::Migration[7.0] - def change - add_reference :weapons, :recruits, null: true, to_table: 'character_id', type: :uuid - end -end diff --git a/db/migrate/20230423125524_change_gacha_drawable_id_to_uuid.rb b/db/migrate/20230423125524_change_gacha_drawable_id_to_uuid.rb deleted file mode 100644 index e274ffe..0000000 --- a/db/migrate/20230423125524_change_gacha_drawable_id_to_uuid.rb +++ /dev/null @@ -1,7 +0,0 @@ -class ChangeGachaDrawableIdToUuid < ActiveRecord::Migration[7.0] - def change - remove_column :gacha, :drawable_id, :bigint - remove_column :gacha, :drawable_type, :string - add_reference :gacha, :drawable, polymorphic: true, type: :uuid - end -end diff --git a/db/migrate/20230423132430_make_gacha_drawable_id_unique.rb b/db/migrate/20230423132430_make_gacha_drawable_id_unique.rb deleted file mode 100644 index 3181999..0000000 --- a/db/migrate/20230423132430_make_gacha_drawable_id_unique.rb +++ /dev/null @@ -1,5 +0,0 @@ -class MakeGachaDrawableIdUnique < ActiveRecord::Migration[7.0] - def change - add_index :gacha, :drawable_id, unique: true - end -end diff --git a/db/migrate/20230502012823_add_gacha_rateups_table.rb b/db/migrate/20230502012823_add_gacha_rateups_table.rb deleted file mode 100644 index da7c72f..0000000 --- a/db/migrate/20230502012823_add_gacha_rateups_table.rb +++ /dev/null @@ -1,8 +0,0 @@ -class AddGachaRateupsTable < ActiveRecord::Migration[7.0] - create_table :gacha_rateups, id: :uuid, default: -> { "gen_random_uuid()" } do |t| - t.references :gacha, type: :uuid - t.string :user_id - t.numeric :rate - t.datetime :created_at, null: false, default: -> { 'CURRENT_TIMESTAMP' } - end -end diff --git a/db/migrate/20230503221903_add_sparks_table.rb b/db/migrate/20230503221903_add_sparks_table.rb deleted file mode 100644 index fca83e0..0000000 --- a/db/migrate/20230503221903_add_sparks_table.rb +++ /dev/null @@ -1,11 +0,0 @@ -class AddSparksTable < ActiveRecord::Migration[7.0] - create_table :sparks, id: :uuid, default: -> { "gen_random_uuid()" } do |t| - t.string :user_id, null: false - t.string :guild_ids, array: true, null: false - t.integer :crystals, default: 0 - t.integer :tickets, default: 0 - t.integer :ten_tickets, default: 0 - t.references :target, polymorphic: true - t.datetime :updated_at, null: false, default: -> { 'CURRENT_TIMESTAMP' } - end -end diff --git a/db/migrate/20230503224345_add_target_memo_to_sparks.rb b/db/migrate/20230503224345_add_target_memo_to_sparks.rb deleted file mode 100644 index c31caea..0000000 --- a/db/migrate/20230503224345_add_target_memo_to_sparks.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddTargetMemoToSparks < ActiveRecord::Migration[7.0] - def change - add_column :sparks, :target_memo, :string - end -end diff --git a/db/migrate/20230503224353_make_user_id_unique_in_sparks.rb b/db/migrate/20230503224353_make_user_id_unique_in_sparks.rb deleted file mode 100644 index 16ffff6..0000000 --- a/db/migrate/20230503224353_make_user_id_unique_in_sparks.rb +++ /dev/null @@ -1,5 +0,0 @@ -class MakeUserIdUniqueInSparks < ActiveRecord::Migration[7.0] - def change - add_index :sparks, :user_id, unique: true - end -end diff --git a/db/migrate/20230618051638_init_schema.rb b/db/migrate/20230618051638_init_schema.rb new file mode 100644 index 0000000..e2f13e4 --- /dev/null +++ b/db/migrate/20230618051638_init_schema.rb @@ -0,0 +1,394 @@ +class InitSchema < ActiveRecord::Migration + def up + # 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" + create_table "app_updates", primary_key: "updated_at", id: :datetime do |t| + t.string "update_type", null: false + t.string "version" + end + create_table "characters", id: :uuid, default: -> { "gen_random_uuid()" } do |t| + t.string "name_en" + t.string "name_jp" + t.string "granblue_id" + t.integer "rarity" + t.integer "element" + t.integer "proficiency1" + t.integer "proficiency2" + t.integer "gender" + t.integer "race1" + t.integer "race2" + t.boolean "flb", default: false, null: false + t.integer "min_hp" + t.integer "max_hp" + t.integer "max_hp_flb" + t.integer "min_atk" + t.integer "max_atk" + t.integer "max_atk_flb" + t.integer "base_da" + t.integer "base_ta" + t.float "ougi_ratio" + t.float "ougi_ratio_flb" + t.boolean "special", default: false, null: false + t.boolean "ulb", default: false, null: false + t.integer "max_hp_ulb" + t.integer "max_atk_ulb" + t.integer "character_id", default: [], null: false, array: true + t.index ["name_en"], name: "index_characters_on_name_en", opclass: :gin_trgm_ops, using: :gin + end + create_table "favorites", id: :uuid, default: -> { "gen_random_uuid()" } do |t| + t.uuid "user_id" + t.uuid "party_id" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["party_id"], name: "index_favorites_on_party_id" + t.index ["user_id"], name: "index_favorites_on_user_id" + end + create_table "gacha", id: :uuid, default: -> { "gen_random_uuid()" } do |t| + t.boolean "premium" + t.boolean "classic" + t.boolean "flash" + t.boolean "legend" + t.boolean "valentines" + t.boolean "summer" + t.boolean "halloween" + t.boolean "holiday" + t.string "drawable_type" + t.uuid "drawable_id" + t.index ["drawable_id"], name: "index_gacha_on_drawable_id", unique: true + t.index ["drawable_type", "drawable_id"], name: "index_gacha_on_drawable" + end + create_table "gacha_rateups", id: :uuid, default: -> { "gen_random_uuid()" } do |t| + t.uuid "gacha_id" + t.string "user_id" + t.decimal "rate" + t.datetime "created_at", default: -> { "CURRENT_TIMESTAMP" }, null: false + t.index ["gacha_id"], name: "index_gacha_rateups_on_gacha_id" + end + create_table "grid_characters", id: :uuid, default: -> { "gen_random_uuid()" } do |t| + t.uuid "party_id" + t.uuid "character_id" + t.integer "uncap_level" + t.integer "position" + t.datetime "created_at", null: false + 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.index ["character_id"], name: "index_grid_characters_on_character_id" + t.index ["party_id"], name: "index_grid_characters_on_party_id" + end + create_table "grid_summons", id: :uuid, default: -> { "gen_random_uuid()" } do |t| + t.uuid "party_id" + t.uuid "summon_id" + t.integer "uncap_level" + t.boolean "main" + t.boolean "friend" + t.integer "position" + 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 + create_table "grid_weapons", id: :uuid, default: -> { "gen_random_uuid()" } do |t| + t.uuid "party_id" + t.uuid "weapon_id" + t.uuid "weapon_key1_id" + t.uuid "weapon_key2_id" + t.integer "uncap_level" + t.boolean "mainhand" + t.integer "position" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.uuid "weapon_key3_id" + t.integer "ax_modifier1" + t.float "ax_strength1" + t.integer "ax_modifier2" + t.float "ax_strength2" + t.integer "element" + t.integer "awakening_type" + t.integer "awakening_level", default: 1, null: false + t.index ["party_id"], name: "index_grid_weapons_on_party_id" + t.index ["weapon_id"], name: "index_grid_weapons_on_weapon_id" + t.index ["weapon_key1_id"], name: "index_grid_weapons_on_weapon_key1_id" + t.index ["weapon_key2_id"], name: "index_grid_weapons_on_weapon_key2_id" + t.index ["weapon_key3_id"], name: "index_grid_weapons_on_weapon_key3_id" + end + create_table "guidebooks", id: :uuid, default: -> { "gen_random_uuid()" } do |t| + t.string "granblue_id", null: false + 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.datetime "created_at", default: -> { "CURRENT_TIMESTAMP" }, null: false + end + create_table "job_accessories", id: :uuid, default: -> { "gen_random_uuid()" } do |t| + t.uuid "job_id" + t.string "name_en", null: false + t.string "name_jp", null: false + t.string "granblue_id", null: false + t.integer "rarity" + t.date "release_date" + t.integer "accessory_type" + t.index ["job_id"], name: "index_job_accessories_on_job_id" + end + create_table "job_skills", id: :uuid, default: -> { "gen_random_uuid()" } do |t| + t.uuid "job_id" + t.string "name_en", null: false + t.string "name_jp", null: false + t.string "slug", null: false + t.integer "color", null: false + t.boolean "main", default: false + t.boolean "sub", default: false + t.boolean "emp", default: false + t.integer "order" + t.boolean "base", default: false + t.index ["job_id"], name: "index_job_skills_on_job_id" + end + create_table "jobs", id: :uuid, default: -> { "gen_random_uuid()" } do |t| + t.string "name_en" + t.string "name_jp" + t.integer "proficiency1" + t.integer "proficiency2" + t.string "row" + t.boolean "master_level", 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 + create_table "oauth_access_grants", id: :uuid, default: -> { "gen_random_uuid()" } do |t| + t.uuid "resource_owner_id", null: false + t.uuid "application_id", null: false + t.string "token", null: false + t.integer "expires_in", null: false + t.text "redirect_uri", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "revoked_at", precision: nil + t.string "scopes" + t.index ["token"], name: "index_oauth_access_grants_on_token", unique: true + end + create_table "oauth_access_tokens", id: :uuid, default: -> { "gen_random_uuid()" } do |t| + t.uuid "resource_owner_id" + t.uuid "application_id" + t.string "token", null: false + t.string "refresh_token" + t.integer "expires_in" + t.datetime "revoked_at", precision: nil + t.datetime "created_at", precision: nil, null: false + t.string "scopes" + t.string "previous_refresh_token", default: "", null: false + t.index ["refresh_token"], name: "index_oauth_access_tokens_on_refresh_token", unique: true + t.index ["resource_owner_id"], name: "index_oauth_access_tokens_on_resource_owner_id" + t.index ["token"], name: "index_oauth_access_tokens_on_token", unique: true + end + create_table "oauth_applications", id: :uuid, default: -> { "gen_random_uuid()" } do |t| + t.string "name", null: false + t.string "uid", null: false + t.string "secret", null: false + t.text "redirect_uri", null: false + t.string "scopes", default: "", null: false + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["uid"], name: "index_oauth_applications_on_uid", unique: true + end + create_table "parties", id: :uuid, default: -> { "gen_random_uuid()" } do |t| + t.uuid "user_id" + t.string "shortcode" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.boolean "extra", default: false, null: false + t.string "name" + t.text "description" + t.uuid "raid_id" + t.integer "element" + t.integer "weapons_count", default: 0 + t.uuid "job_id" + t.integer "master_level" + t.uuid "skill1_id" + t.uuid "skill2_id" + t.uuid "skill3_id" + t.uuid "skill0_id" + t.boolean "full_auto", default: false, null: false + t.boolean "auto_guard", default: false, null: false + t.boolean "charge_attack", default: true, null: false + t.integer "clear_time", default: 0, null: false + t.integer "button_count" + t.integer "chain_count" + t.integer "turn_count" + t.uuid "source_party_id" + t.uuid "accessory_id" + 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.uuid "guidebook3_id" + t.uuid "guidebook1_id" + t.uuid "guidebook2_id" + t.boolean "auto_summon", default: false, null: false + t.index ["accessory_id"], name: "index_parties_on_accessory_id" + t.index ["guidebook1_id"], name: "index_parties_on_guidebook1_id" + t.index ["guidebook2_id"], name: "index_parties_on_guidebook2_id" + t.index ["guidebook3_id"], name: "index_parties_on_guidebook3_id" + t.index ["job_id"], name: "index_parties_on_job_id" + t.index ["skill0_id"], name: "index_parties_on_skill0_id" + t.index ["skill1_id"], name: "index_parties_on_skill1_id" + t.index ["skill2_id"], name: "index_parties_on_skill2_id" + t.index ["skill3_id"], name: "index_parties_on_skill3_id" + t.index ["source_party_id"], name: "index_parties_on_source_party_id" + t.index ["user_id"], name: "index_parties_on_user_id" + end + create_table "raid_groups", id: :uuid, default: -> { "gen_random_uuid()" } do |t| + t.string "name_en", null: false + t.string "name_jp", null: false + t.integer "difficulty" + t.integer "order", null: false + t.integer "section", default: 1, null: false + t.boolean "extra", default: false, null: false + t.boolean "hl", default: true, null: false + t.boolean "guidebooks", default: false, null: false + end + create_table "raids", id: :uuid, default: -> { "gen_random_uuid()" } do |t| + t.string "name_en" + t.string "name_jp" + t.integer "level" + t.integer "element" + t.string "slug" + t.uuid "group_id" + t.index ["group_id"], name: "index_raids_on_group_id" + end + create_table "sparks", id: :uuid, default: -> { "gen_random_uuid()" } do |t| + t.string "user_id", null: false + t.string "guild_ids", null: false, array: true + t.integer "crystals", default: 0 + t.integer "tickets", default: 0 + t.integer "ten_tickets", default: 0 + t.string "target_type" + t.bigint "target_id" + t.datetime "updated_at", default: -> { "CURRENT_TIMESTAMP" }, null: false + t.string "target_memo" + t.index ["target_type", "target_id"], name: "index_sparks_on_target" + t.index ["user_id"], name: "index_sparks_on_user_id", unique: true + end + create_table "summons", id: :uuid, default: -> { "gen_random_uuid()" } do |t| + t.string "name_en" + t.string "name_jp" + t.string "granblue_id" + t.integer "rarity" + t.integer "element" + t.string "series" + t.boolean "flb", default: false, null: false + t.boolean "ulb", default: false, null: false + t.integer "max_level", default: 100, null: false + t.integer "min_hp" + t.integer "max_hp" + t.integer "max_hp_flb" + t.integer "max_hp_ulb" + t.integer "min_atk" + t.integer "max_atk" + t.integer "max_atk_flb" + t.integer "max_atk_ulb" + t.boolean "subaura", default: false, null: false + t.boolean "limit", default: false, null: false + t.boolean "xlb", default: false, null: false + t.integer "max_atk_xlb" + t.integer "max_hp_xlb" + t.index ["name_en"], name: "index_summons_on_name_en", opclass: :gin_trgm_ops, using: :gin + end + create_table "users", id: :uuid, default: -> { "gen_random_uuid()" } do |t| + t.string "email" + t.string "password_digest" + t.string "username" + t.integer "granblue_id" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.string "picture", default: "gran" + t.string "language", default: "en", null: false + t.boolean "private", default: false, null: false + t.string "element", default: "water", null: false + t.integer "gender", default: 0, null: false + t.string "theme", default: "system", null: false + end + create_table "weapon_keys", id: :uuid, default: -> { "gen_random_uuid()" } do |t| + t.string "name_en" + t.string "name_jp" + t.integer "series" + t.integer "slot" + t.integer "group" + t.integer "order" + t.string "slug" + t.integer "granblue_id" + end + create_table "weapons", id: :uuid, default: -> { "gen_random_uuid()" } do |t| + t.string "name_en" + t.string "name_jp" + t.string "granblue_id" + t.integer "rarity" + t.integer "element" + t.integer "proficiency" + t.integer "series", default: -1, null: false + t.boolean "flb", default: false, null: false + t.boolean "ulb", default: false, null: false + t.integer "max_level", default: 100, null: false + t.integer "max_skill_level", default: 10, null: false + t.integer "min_hp" + t.integer "max_hp" + t.integer "max_hp_flb" + t.integer "max_hp_ulb" + t.integer "min_atk" + t.integer "max_atk" + t.integer "max_atk_flb" + t.integer "max_atk_ulb" + t.boolean "extra", default: false, null: false + t.integer "ax_type" + t.boolean "awakening", default: true, null: false + t.boolean "limit", default: false, null: false + t.boolean "ax", default: false, null: false + t.uuid "recruits_id" + t.index ["name_en"], name: "index_weapons_on_name_en", opclass: :gin_trgm_ops, using: :gin + t.index ["recruits_id"], name: "index_weapons_on_recruits_id" + end + add_foreign_key "favorites", "parties" + add_foreign_key "favorites", "users" + add_foreign_key "grid_characters", "characters" + add_foreign_key "grid_characters", "parties" + add_foreign_key "grid_summons", "parties" + add_foreign_key "grid_summons", "summons" + add_foreign_key "grid_weapons", "parties" + add_foreign_key "grid_weapons", "weapon_keys", column: "weapon_key3_id" + add_foreign_key "grid_weapons", "weapons" + add_foreign_key "jobs", "jobs", column: "base_job_id" + add_foreign_key "oauth_access_grants", "oauth_applications", column: "application_id" + add_foreign_key "oauth_access_tokens", "oauth_applications", column: "application_id" + add_foreign_key "parties", "guidebooks", column: "guidebook1_id" + add_foreign_key "parties", "guidebooks", column: "guidebook2_id" + add_foreign_key "parties", "guidebooks", column: "guidebook3_id" + add_foreign_key "parties", "job_accessories", column: "accessory_id" + add_foreign_key "parties", "job_skills", column: "skill0_id" + add_foreign_key "parties", "job_skills", column: "skill1_id" + add_foreign_key "parties", "job_skills", column: "skill2_id" + add_foreign_key "parties", "job_skills", column: "skill3_id" + add_foreign_key "parties", "jobs" + add_foreign_key "parties", "parties", column: "source_party_id" + add_foreign_key "parties", "raids" + add_foreign_key "parties", "users" + add_foreign_key "raids", "raid_groups", column: "group_id" + end + + def down + raise ActiveRecord::IrreversibleMigration, "The initial migration is not revertable" + end +end diff --git a/db/migrate/20230619000621_squasher_clean.rb b/db/migrate/20230619000621_squasher_clean.rb new file mode 100644 index 0000000..221c3f3 --- /dev/null +++ b/db/migrate/20230619000621_squasher_clean.rb @@ -0,0 +1,13 @@ +class SquasherClean < ActiveRecord::Migration[7.0] + class SchemaMigration < ActiveRecord::Base + end + + def up + migrations = Dir.glob(File.join(File.dirname(__FILE__), '*.rb')) + versions = migrations.map { |file| File.basename(file)[/\A\d+/] } + SchemaMigration.where("version NOT IN (?)", versions).delete_all + end + + def down + end +end diff --git a/db/migrate/20230619003446_add_awakenings_table.rb b/db/migrate/20230619003446_add_awakenings_table.rb new file mode 100644 index 0000000..1a7ccf4 --- /dev/null +++ b/db/migrate/20230619003446_add_awakenings_table.rb @@ -0,0 +1,10 @@ +class AddAwakeningsTable < ActiveRecord::Migration[7.0] + def change + create_table :awakenings, id: :uuid, default: -> { "gen_random_uuid()" } do |t| + t.string :name_en, null: false + t.string :name_jp, null: false + t.string :slug, null: false + t.string :type, null: false + end + end +end diff --git a/db/migrate/20230619003480_create_weapon_awakenings_table.rb b/db/migrate/20230619003480_create_weapon_awakenings_table.rb new file mode 100644 index 0000000..9540fec --- /dev/null +++ b/db/migrate/20230619003480_create_weapon_awakenings_table.rb @@ -0,0 +1,8 @@ +class CreateWeaponAwakeningsTable < ActiveRecord::Migration[7.0] + def change + create_table :weapon_awakenings, id: :uuid, default: -> { "gen_random_uuid()" } do |t| + t.references :weapon, null: false, foreign_key: true, type: :uuid + t.references :awakening, null: false, foreign_key: true, type: :uuid + end + end +end diff --git a/db/migrate/20230619003502_add_max_awakening_level_to_weapons.rb b/db/migrate/20230619003502_add_max_awakening_level_to_weapons.rb new file mode 100644 index 0000000..5ff58a0 --- /dev/null +++ b/db/migrate/20230619003502_add_max_awakening_level_to_weapons.rb @@ -0,0 +1,5 @@ +class AddMaxAwakeningLevelToWeapons < ActiveRecord::Migration[7.0] + def change + add_column :weapons, :max_awakening_level, :integer + end +end diff --git a/db/migrate/20230619005403_add_order_to_awakenings.rb b/db/migrate/20230619005403_add_order_to_awakenings.rb new file mode 100644 index 0000000..0457a4f --- /dev/null +++ b/db/migrate/20230619005403_add_order_to_awakenings.rb @@ -0,0 +1,5 @@ +class AddOrderToAwakenings < ActiveRecord::Migration[7.0] + def change + add_column :awakenings, :order, :integer, null: false, default: 0 + end +end diff --git a/db/migrate/20230619013722_rename_type_to_object_type_in_awakenings.rb b/db/migrate/20230619013722_rename_type_to_object_type_in_awakenings.rb new file mode 100644 index 0000000..c3fa13e --- /dev/null +++ b/db/migrate/20230619013722_rename_type_to_object_type_in_awakenings.rb @@ -0,0 +1,5 @@ +class RenameTypeToObjectTypeInAwakenings < ActiveRecord::Migration[7.0] + def change + rename_column :awakenings, :type, :object_type + end +end diff --git a/db/migrate/20230619013850_remove_awakening_from_weapon.rb b/db/migrate/20230619013850_remove_awakening_from_weapon.rb new file mode 100644 index 0000000..835c9d7 --- /dev/null +++ b/db/migrate/20230619013850_remove_awakening_from_weapon.rb @@ -0,0 +1,5 @@ +class RemoveAwakeningFromWeapon < ActiveRecord::Migration[7.0] + def change + remove_column :weapons, :awakening, :boolean + end +end diff --git a/db/migrate/20230619015030_add_new_awakening_type_to_grid_weapons.rb b/db/migrate/20230619015030_add_new_awakening_type_to_grid_weapons.rb new file mode 100644 index 0000000..3ed49a9 --- /dev/null +++ b/db/migrate/20230619015030_add_new_awakening_type_to_grid_weapons.rb @@ -0,0 +1,6 @@ +class AddNewAwakeningTypeToGridWeapons < ActiveRecord::Migration[7.0] + def change + # Add a reference on grid_weapons to the awakenings table, which has a uuid id + add_reference :grid_weapons, :awakening, type: :uuid, foreign_key: { to_table: :awakenings } + end +end diff --git a/db/migrate/20230619020744_remove_awakening_type_from_grid_weapon.rb b/db/migrate/20230619020744_remove_awakening_type_from_grid_weapon.rb new file mode 100644 index 0000000..afa0736 --- /dev/null +++ b/db/migrate/20230619020744_remove_awakening_type_from_grid_weapon.rb @@ -0,0 +1,5 @@ +class RemoveAwakeningTypeFromGridWeapon < ActiveRecord::Migration[7.0] + def change + remove_column :grid_weapons, :awakening_type, :integer + end +end diff --git a/db/migrate/20230619043556_add_new_awakening_id_to_grid_characters.rb b/db/migrate/20230619043556_add_new_awakening_id_to_grid_characters.rb new file mode 100644 index 0000000..69678db --- /dev/null +++ b/db/migrate/20230619043556_add_new_awakening_id_to_grid_characters.rb @@ -0,0 +1,6 @@ +class AddNewAwakeningIdToGridCharacters < ActiveRecord::Migration[7.0] + def change + add_reference :grid_characters, :awakening, type: :uuid, foreign_key: { to_table: :awakenings } + add_column :grid_characters, :awakening_level, :integer, default: 1 + end +end diff --git a/db/migrate/20230619045651_remove_awakening_from_grid_characters.rb b/db/migrate/20230619045651_remove_awakening_from_grid_characters.rb new file mode 100644 index 0000000..2a8cf3e --- /dev/null +++ b/db/migrate/20230619045651_remove_awakening_from_grid_characters.rb @@ -0,0 +1,5 @@ +class RemoveAwakeningFromGridCharacters < ActiveRecord::Migration[7.0] + def change + remove_column :grid_characters, :awakening, :jsonb + end +end diff --git a/db/schema.rb b/db/schema.rb index ad74e64..6a87c0b 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_05_03_224353) do +ActiveRecord::Schema[7.0].define(version: 2023_06_19_045651) do # These are extensions that must be enabled in order to support this database enable_extension "btree_gin" enable_extension "pg_trgm" @@ -22,6 +22,14 @@ ActiveRecord::Schema[7.0].define(version: 2023_05_03_224353) do t.string "version" end + create_table "awakenings", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| + t.string "name_en", null: false + t.string "name_jp", null: false + t.string "slug", null: false + t.string "object_type", null: false + t.integer "order", default: 0, null: false + 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 @@ -98,6 +106,9 @@ ActiveRecord::Schema[7.0].define(version: 2023_05_03_224353) do 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| + 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 @@ -161,11 +172,13 @@ ActiveRecord::Schema[7.0].define(version: 2023_05_03_224353) do 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.uuid "awakening_id" + t.integer "awakening_level", default: 1 + t.index ["awakening_id"], name: "index_grid_characters_on_awakening_id" t.index ["character_id"], name: "index_grid_characters_on_character_id" t.index ["party_id"], name: "index_grid_characters_on_party_id" end @@ -201,8 +214,9 @@ ActiveRecord::Schema[7.0].define(version: 2023_05_03_224353) do t.integer "ax_modifier2" t.float "ax_strength2" t.integer "element" - t.integer "awakening_type" t.integer "awakening_level", default: 1, null: false + t.uuid "awakening_id" + t.index ["awakening_id"], name: "index_grid_weapons_on_awakening_id" t.index ["party_id"], name: "index_grid_weapons_on_party_id" t.index ["weapon_id"], name: "index_grid_weapons_on_weapon_id" t.index ["weapon_key1_id"], name: "index_grid_weapons_on_weapon_key1_id" @@ -281,7 +295,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_05_03_224353) do t.datetime "revoked_at", precision: nil t.datetime "created_at", precision: nil, null: false t.string "scopes" - t.string "previous_refresh_token", default: "", null: false + t.string "previous_refresh_token", default: "" t.index ["refresh_token"], name: "index_oauth_access_tokens_on_refresh_token", unique: true t.index ["resource_owner_id"], name: "index_oauth_access_tokens_on_resource_owner_id" t.index ["token"], name: "index_oauth_access_tokens_on_token", unique: true @@ -332,6 +346,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_05_03_224353) do t.uuid "guidebook3_id" t.uuid "guidebook1_id" t.uuid "guidebook2_id" + t.boolean "auto_summon", default: false, null: false t.index ["accessory_id"], name: "index_parties_on_accessory_id" t.index ["guidebook1_id"], name: "index_parties_on_guidebook1_id" t.index ["guidebook2_id"], name: "index_parties_on_guidebook2_id" @@ -345,13 +360,25 @@ ActiveRecord::Schema[7.0].define(version: 2023_05_03_224353) do t.index ["user_id"], name: "index_parties_on_user_id" end + create_table "raid_groups", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| + t.string "name_en", null: false + t.string "name_jp", null: false + t.integer "difficulty" + t.integer "order", null: false + t.integer "section", default: 1, null: false + t.boolean "extra", default: false, null: false + t.boolean "hl", default: true, null: false + t.boolean "guidebooks", default: false, null: false + end + create_table "raids", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.string "name_en" t.string "name_jp" t.integer "level" - t.integer "group" t.integer "element" t.string "slug" + t.uuid "group_id" + t.index ["group_id"], name: "index_raids_on_group_id" end create_table "sparks", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| @@ -411,6 +438,13 @@ ActiveRecord::Schema[7.0].define(version: 2023_05_03_224353) do t.string "theme", default: "system", null: false end + create_table "weapon_awakenings", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| + t.uuid "weapon_id", null: false + t.uuid "awakening_id", null: false + t.index ["awakening_id"], name: "index_weapon_awakenings_on_awakening_id" + t.index ["weapon_id"], name: "index_weapon_awakenings_on_weapon_id" + end + create_table "weapon_keys", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.string "name_en" t.string "name_jp" @@ -444,23 +478,24 @@ ActiveRecord::Schema[7.0].define(version: 2023_05_03_224353) do t.integer "max_atk_ulb" t.boolean "extra", default: false, null: false t.integer "ax_type" - 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.uuid "recruits_id" + t.integer "max_awakening_level" t.index ["name_en"], name: "index_weapons_on_name_en", opclass: :gin_trgm_ops, using: :gin t.index ["recruits_id"], name: "index_weapons_on_recruits_id" end add_foreign_key "favorites", "parties" add_foreign_key "favorites", "users" + add_foreign_key "grid_characters", "awakenings" add_foreign_key "grid_characters", "characters" add_foreign_key "grid_characters", "parties" add_foreign_key "grid_summons", "parties" add_foreign_key "grid_summons", "summons" + add_foreign_key "grid_weapons", "awakenings" add_foreign_key "grid_weapons", "parties" add_foreign_key "grid_weapons", "weapon_keys", column: "weapon_key3_id" add_foreign_key "grid_weapons", "weapons" @@ -479,4 +514,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_05_03_224353) do add_foreign_key "parties", "parties", column: "source_party_id" add_foreign_key "parties", "raids" add_foreign_key "parties", "users" + add_foreign_key "raids", "raid_groups", column: "group_id" + add_foreign_key "weapon_awakenings", "awakenings" + add_foreign_key "weapon_awakenings", "weapons" end diff --git a/lib/tasks/download_images.rake b/lib/tasks/download_images.rake index ec61cb2..9079f89 100644 --- a/lib/tasks/download_images.rake +++ b/lib/tasks/download_images.rake @@ -106,7 +106,7 @@ namespace :granblue do puts "Summon #{id}" sizes.each do |size| - path = "#{Rails.root}/download/character-#{size}" + path = "#{Rails.root}/download/summon-#{size}" download_images(url[size.to_sym], size, path) end end @@ -125,7 +125,10 @@ namespace :granblue do elsif object == 'weapon' download_weapon_images(id) elsif object == 'summon' - download_summon_images(id) + download_summon_images("#{id}") + download_summon_images("#{id}_02") + download_summon_images("#{id}_03") + download_summon_images("#{id}_04") end end end diff --git a/lib/tasks/export_job.rake b/lib/tasks/export_job.rake index 87bdb4d..32f640d 100644 --- a/lib/tasks/export_job.rake +++ b/lib/tasks/export_job.rake @@ -1,33 +1,73 @@ namespace :granblue do namespace :export do def build_job_icon_url(id) - # Set up URL base_url = 'https://prd-game-a-granbluefantasy.akamaized.net/assets_en/img/sp/ui/icon/job' extension = '.png' "#{base_url}/#{id}#{extension}" end - desc 'Exports a list of weapon URLs for a given size' - task :job do |_t, _args| - # Include weapon model + def build_job_portrait_url(id, proficiency, gender) + base_url = 'https://prd-game-a1-granbluefantasy.akamaized.net/assets_en/img/sp/assets/leader/quest' + extension = '.jpg' + + prefix = "" + case proficiency + when 1 + prefix = "sw" + when 2 + prefix = "kn" + when 3 + prefix = "ax" + when 4 + prefix = "sp" + when 5 + prefix = "bw" + when 6 + prefix = "wa" + when 7 + prefix = "me" + when 8 + prefix = "mc" + when 9 + prefix = "gu" + when 10 + prefix = "kt" + end + + "#{base_url}/#{id}_#{prefix}_#{gender}_01#{extension}" + end + + # job-icon + def write_urls(size) + # Include model Dir.glob("#{Rails.root}/app/models/job.rb").each { |file| require file } # Set up filepath dir = "#{Rails.root}/export/" - filename = "#{dir}/job-icon.txt" + filename = "#{dir}job-#{size}.txt" FileUtils.mkdir(dir) unless Dir.exist?(dir) # Write to file File.open(filename, 'w') do |f| Job.all.each do |w| - f.write("#{build_job_icon_url(w.granblue_id.to_s)} \n") + if size == 'icon' + f.write("#{build_job_icon_url(w.granblue_id.to_s)} \n") + elsif size == 'portrait' + f.write("#{build_job_portrait_url(w.granblue_id.to_s, w.proficiency1, 0)} \n") + f.write("#{build_job_portrait_url(w.granblue_id.to_s, w.proficiency1, 1)} \n") + end end end # CLI output count = `wc -l #{filename}`.split.first.to_i - puts "Wrote #{count} job URLs for icon size" + puts "Wrote #{count} job URLs for #{size} size" + end + + desc 'Exports a list of job URLs for a given size' + task :job, [:size] => :environment do |_t, args| + write_urls(args[:size]) end end end