diff --git a/app/models/character.rb b/app/models/character.rb index b89d3a1..c2000a8 100644 --- a/app/models/character.rb +++ b/app/models/character.rb @@ -14,15 +14,19 @@ class Character < ApplicationRecord } pg_search_scope :en_search, - against: :name_en, + against: %i[name_en nicknames_en], using: { + tsearch: { + prefix: true, + dictionary: 'simple' + }, trigram: { threshold: 0.18 } } pg_search_scope :ja_search, - against: :name_jp, + against: %i[name_jp nicknames_jp], using: { tsearch: { prefix: true, diff --git a/app/models/summon.rb b/app/models/summon.rb index 59ce773..5989216 100644 --- a/app/models/summon.rb +++ b/app/models/summon.rb @@ -14,15 +14,19 @@ class Summon < ApplicationRecord } pg_search_scope :en_search, - against: :name_en, + against: %i[name_en nicknames_en], using: { + tsearch: { + prefix: true, + dictionary: 'simple' + }, trigram: { threshold: 0.18 } } pg_search_scope :ja_search, - against: :name_jp, + against: %i[name_jp nicknames_jp], using: { tsearch: { prefix: true, diff --git a/app/models/weapon.rb b/app/models/weapon.rb index fde26d2..ac0c6b7 100644 --- a/app/models/weapon.rb +++ b/app/models/weapon.rb @@ -14,15 +14,19 @@ class Weapon < ApplicationRecord } pg_search_scope :en_search, - against: :name_en, + against: %i[name_en nicknames_en], using: { + tsearch: { + prefix: true, + dictionary: 'simple' + }, trigram: { threshold: 0.18 } } pg_search_scope :ja_search, - against: :name_jp, + against: %i[name_jp nicknames_jp], using: { tsearch: { prefix: true, diff --git a/db/migrate/20230820113800_add_nicknames_to_characters.rb b/db/migrate/20230820113800_add_nicknames_to_characters.rb new file mode 100644 index 0000000..d73bc19 --- /dev/null +++ b/db/migrate/20230820113800_add_nicknames_to_characters.rb @@ -0,0 +1,6 @@ +class AddNicknamesToCharacters < ActiveRecord::Migration[7.0] + def change + add_column :characters, :nicknames_en, :string, array: true, default: [], null: false, if_not_exists: true + add_column :characters, :nicknames_jp, :string, array: true, default: [], null: false, if_not_exists: true + end +end diff --git a/db/migrate/20230820113810_add_nicknames_to_summons.rb b/db/migrate/20230820113810_add_nicknames_to_summons.rb new file mode 100644 index 0000000..094477a --- /dev/null +++ b/db/migrate/20230820113810_add_nicknames_to_summons.rb @@ -0,0 +1,6 @@ +class AddNicknamesToSummons < ActiveRecord::Migration[7.0] + def change + add_column :summons, :nicknames_en, :string, array: true, default: [], null: false, if_not_exists: true + add_column :summons, :nicknames_jp, :string, array: true, default: [], null: false, if_not_exists: true + end +end diff --git a/db/migrate/20230820113900_add_nicknames_to_weapons.rb b/db/migrate/20230820113900_add_nicknames_to_weapons.rb new file mode 100644 index 0000000..0f2ca79 --- /dev/null +++ b/db/migrate/20230820113900_add_nicknames_to_weapons.rb @@ -0,0 +1,6 @@ +class AddNicknamesToWeapons < ActiveRecord::Migration[7.0] + def change + add_column :weapons, :nicknames_en, :string, array: true, default: [], null: false, if_not_exists: true + add_column :weapons, :nicknames_jp, :string, array: true, default: [], null: false, if_not_exists: true + end +end diff --git a/db/schema.rb b/db/schema.rb index 4a2715e..a078f2a 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_08_20_045019) do +ActiveRecord::Schema[7.0].define(version: 2023_08_20_113900) do # These are extensions that must be enabled in order to support this database enable_extension "btree_gin" enable_extension "pg_trgm"