このコミットが含まれているのは:
2026-09-30 01:14:58 +09:00
コミット 75cc6ac9a2
4個のファイルの変更、16行の追加、38行の削除
+3
ファイルの表示
@@ -7,6 +7,8 @@ class AddColumnsToTagNames < ActiveRecord::Migration[8.0]
null: false, after: :name, default: 'Jpan'
add_column :tag_names, :primary_flg, :boolean,
null: false, after: :script_code, default: true
add_column :tag_names, :auto_generated, :boolean,
null: false, default: true, after: :primary_flg
add_foreign_key :tag_names, :languages, column: :language_code, primary_key: :code
add_foreign_key :tag_names, :scripts, column: :script_code, primary_key: :code
@@ -51,6 +53,7 @@ class AddColumnsToTagNames < ActiveRecord::Migration[8.0]
remove_index :tag_names, [:language_code, :name]
add_index :tag_names, :name, unique: true
remove_column :tag_names, :auto_generated
remove_column :tag_names, :primary_flg
remove_column :tag_names, :script_code
remove_column :tag_names, :language_code
+11 -17
ファイルの表示
@@ -9,23 +9,17 @@ class AddNamesToTagVersions < ActiveRecord::Migration[8.0]
say_with_time 'Backfilling multilingual tag version names' do
TagVersion.find_each do |version|
names = [{
language_code: 'ja',
name: version.name,
script_code: 'Jpan',
primary_flg: true,
auto_generated: false }]
names.concat(version.aliases.to_s.split.filter_map { |name|
next if name.blank?
{
language_code: 'ja',
name:,
script_code: 'Jpan',
primary_flg: false,
auto_generated: false }
})
version.update_columns(names: names)
aliases = version.aliases.to_s.split.filter_map do |name|
name.present? &&
{ name:,
script_code: 'Jpan',
auto_generated: false }
end
names = { ja: { name: version.name,
script_code: 'Jpan',
auto_generated: false,
aliases: } }
version.update_columns(names:)
end
end
-19
ファイルの表示
@@ -1,19 +0,0 @@
class AddAutoGeneratedToTagNames < ActiveRecord::Migration[8.0]
class TagVersion < ActiveRecord::Base
self.table_name = 'tag_versions'
end
def up
add_column :tag_names, :auto_generated, :boolean, null: false, default: false
TagVersion.reset_column_information
TagVersion.find_each do |version|
names = Array(version.names).map { |name| name.merge('auto_generated' => false) }
version.update_columns(names: names)
end
end
def down
remove_column :tag_names, :auto_generated
end
end
生成ファイル
+2 -2
ファイルの表示
@@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema[8.0].define(version: 2026_09_22_050000) do
ActiveRecord::Schema[8.0].define(version: 2026_09_22_040000) do
create_table "active_storage_attachments", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t|
t.string "name", null: false
t.string "record_type", null: false
@@ -450,11 +450,11 @@ ActiveRecord::Schema[8.0].define(version: 2026_09_22_050000) do
t.string "name", null: false
t.string "script_code", limit: 4, null: false
t.boolean "primary_flg", null: false
t.boolean "auto_generated", default: true, null: false
t.bigint "canonical_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.virtual "primary_tag_id", type: :bigint, as: "(case when `primary_flg` then `tag_id` else NULL end)"
t.boolean "auto_generated", default: false, null: false
t.index ["canonical_id"], name: "index_tag_names_on_canonical_id"
t.index ["language_code", "name"], name: "index_tag_names_on_language_code_and_name", unique: true
t.index ["primary_tag_id", "language_code"], name: "index_tag_names_on_primary_tag_id_and_language_code", unique: true