【Rails】rails db:migrateができない!

エラー内容

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) ==========================

うまくいきました。

スペルミスに注意しましょう。

タイトルとURLをコピーしました