🖥

Rails マイグレーションで1個のテーブルの特定のカラムの照合順序を変更する

2024/11/16に公開

マイグレーションの正当な構文で実現できる方法が見つからなかったため、SQLを直接実行してしまう

class ChangeCollation < ActiveRecord::Migration[7.2]
  def up
    execute('ALTER TABLE example_table MODIFY `column_name` VARCHAR(255) COLLATE utf8mb4_bin')
  end
end

ActiveRecord::Base.connection.execute ではなく execute だけで書けるようだ

schema

マイグレーションを実行すると schema.rb の情報も変わってくれる

  create_table "example_table", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t|
    t.string "column_name", collation: "utf8mb4_bin"

参考

https://guides.rubyonrails.org/active_record_migrations.html

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

プロフィール・経歴

https://github.com/YumaInaura/YumaInaura

公開日時

2024-09-03

https://qiita.com/YumaInaura/items/6ca79458468d9b7d5fde

Discussion