运行rake db:seed时,“rake aborted!unknown attribute:date”

时间:2013-04-28 04:49:08

标签: ruby-on-rails-3

耙子流产了! 未知属性:日期

我终于能够迁移我的数据库内容,但遇到了这个不幸的错误。

是因为日期属性比实际的新数据库还旧吗?日期没有在我的模型中明确定义,但显然数据在之前的旧数据库中并且未手动输入。我认为t.timestamp负责初始化,所以我想问题是为什么我不能在我的数据库中播种?任何想法

我的种子文件看起来像这样:

Indication.create([
  { :name => "general", :date => "2012-11-09 17:36:25" },

2 个答案:

答案 0 :(得分:0)

您的Indication模型看起来没有date字段。您需要create a migration添加一个吗?

答案 1 :(得分:0)

所以,如果有人遇到同样的问题,这是我的解决方案:

我的种子:转储在这种情况下提取了数据“2012-11-09 17:36:25”并为其分配了变量“date”。虽然我仍然不确定为什么会发生这种情况,但它与t.timestamp命令有关。

t.timestamp创建了2个变量:

  1. created_at
  2. 的updated_at
  3. 副文件将2012-11-09 17:36:25作为“日期”变量,这是基于格式的合理猜测,但是对于Rails应用程序标准来说是错误的。我的表只有两个日期时间格式的变量,就是我在上面命名的变量。

    我打开了种子文件并将所有“:date”替换为“:created_at”,它解决了问题。 updated_at然后自动获取值(更新时未从我的旧数据库传输到这个新数据库)。

    created_as数据确实传输并且是正确的。 updated_at在所有数据中获取了相同的值(我注意到它是日期和时间并执行了rake db:seed:load命令。