当我运行rake db:migrate
时,显示以下错误:
-- create_table(:posts)<br>
rake aborted!
StandardError: An error has occurred, all later migrations canceled:`<br>
undefined method 'int' for #
<ActiveRecord::ConnectionAdapters::MySQL::TableDefinition:0x0055c088b9f520>
Did you mean? in?
有任何想法或建议吗?
答案 0 :(得分:5)
我只是将db / migrate中的迁移文件从int
更改为integer
。像这样: t.integer: age
答案 1 :(得分:0)
可能发生这种情况的一个原因是,如果您在 rails generate model ...
期间不小心以错误的方式获得了列名和数据类型。
例如,如果您不小心运行了 rails g model calculations references:appointment
(而不是 rails g model calculations appointment:references
),那么您将:
t.appointment :references
但应该是
t.references :appointment
同样的错误不仅可能发生在 references
上,也可能发生在任何其他数据类型上(例如 integer
、string
等等)。