YumaInaura icon indicating copy to clipboard operation
YumaInaura copied to clipboard

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

Open YumaInaura opened this issue 1 year ago • 0 comments

マイグレーションの正当な構文で実現できる方法が見つからなかったため、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

YumaInaura avatar Sep 03 '24 00:09 YumaInaura