【Rails】 is too long; the limit is 64 characters って怒られたら
Ruby on Railsで複合indexをつくりたいとき
add_index :friends, %i[user_id target_user_id], unique: true
みたいなことをします。
ちなみに↑は大丈夫なケースですね。
アカン場合
add_index :random_selected_user_accounts_logs, %i[id created_at], unique: true
この場合Railsによって生成される複合index名は 64byteを超えてしまう。すると、表題のエラーでmigrationが失敗します。
index key name(インデックス名)は64byteを超えてはいけない
ということを覚えました。
じゃあどうするか?
単にindex key nameを指定してあげます。
add_index :random_selected_user_accounts_logs, %i[id created_at], unique: true, name: 'index_for_account_created_at'
みたいにすれば、index key nameは index_for_account_created_at
で作られます。