[エラー] ALTER TABLE tags MODIFY name varchar(255) CHARACTER SET utf8 COLLATE utf8_bin; (ActiveRecord::StatementInvalid)ALTER TABLE tags MODIFY name varchar(255) CHARACTER SET utf8 COLLATE utf8_bin; (ActiveRecord::StatementInvalid)

  • 0
    いいね
  • 0
    コメント
    この記事は最終更新日から1年以上が経過しています。

    既存のRailsアプリをcloneしてきてマイグレーションしたらエラーが発生。
    データベースにはMySQL5.5を使用。

    Mysql2::Error: Table '****_development.tags' doesn't exist: ALTER TABLE tags MODIFY name varchar(255) CHARACTER SET utf8 COLLATE utf8_bin; (ActiveRecord::StatementInvalid)
    

    acts-as-taggable-onというgemが原因のようだ。

    Githubの公式によれば、MySQLユーザーは下記の設定が必要なようだ。

    /config/initializes/acts_as_taggable_on.rb
    ActsAsTaggableOn.force_binary_collation = true
    

    上記の一文をコメントアウトしてマイグレーションを実行すればよい。
    https://github.com/mbleigh/acts-as-taggable-on/issues/623#issuecomment-97640109

    マイグレーションが完了したらコメントアウトを戻す。
    次回からのマイグレーションは普通に実行される。
    釈然としないがとりあえず解決。

    以上。