【发布时间】:2017-10-02 07:10:55
【问题描述】:
尝试将时间戳添加到现有表。 根据Api documenation add_timestamps
这是我的迁移代码:
def change
add_timestamps(:products, null: false)
end
得到错误:
*-- add_timestamps(:products, {:null=>false})
rails aborted!
StandardError: An error has occurred, this and all later migrations canceled:
SQLite3::SQLException: Cannot add a NOT NULL column with default value NULL: ALTER TABLE "products" ADD "created_at" datetime NOT NULL*
我也尝试了thread中的所有解决方案
同样的错误... 导轨 5.1.4 Ruby 2.4.0
【问题讨论】:
-
实际上你可以在不传递
options的情况下添加列,这就是Rails 5中add_timestamps所做的,null: false是默认值。如果我错了,请纠正我。 -
我也尝试过不通过选项并得到同样的错误
标签: ruby-on-rails ruby migration