エラー内容
rails db:migrateを実行しようとすると、以下のようなエラーが、、
$ docker-compose run web rails db:migrate
[+] Running 1/0
⠿ Container look_backer-db-1 Running 0.0s
== 20211022045730 CreateMissions: migrating ===================================
-- create_table(:missions)
rails aborted!
StandardError: An error has occurred, all later migrations canceled:
undefined method `int' for #<ActiveRecord::ConnectionAdapters::MySQL::TableDefinition:0x0000aaaad7872580>
Did you mean? in?
~省略~
Caused by:
NoMethodError: undefined method `int' for #<ActiveRecord::ConnectionAdapters::MySQL::TableDefinition:0x0000aaaad7872580>
Did you mean? in?
~省略~
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
解決
どうやら、モデル作成時に追加したいカラムのデータ型「integer」を「int」としていたことが問題。
マイグレーションファイルで、スペルミスの部分を探して修正。
もう一度 rails db:migrateを実行。
== 20211022045730 CreateMissions: migrating ===================================
-- create_table(:missions)
-> 0.0863s
== 20211022045730 CreateMissions: migrated (0.0864s) ==========================
うまくいきました。
スペルミスに注意しましょう。