我终于能够迁移我的数据库内容,但遇到了这个不幸的错误。
是因为日期属性比实际的新数据库还旧吗?日期没有在我的模型中明确定义,但显然数据在之前的旧数据库中并且未手动输入。我认为t.timestamp负责初始化,所以我想问题是为什么我不能在我的数据库中播种?任何想法
我的种子文件看起来像这样:
Indication.create([
{ :name => "general", :date => "2012-11-09 17:36:25" },
答案 0 :(得分:0)
您的Indication
模型看起来没有date
字段。您需要create a migration添加一个吗?
答案 1 :(得分:0)
所以,如果有人遇到同样的问题,这是我的解决方案:
我的种子:转储在这种情况下提取了数据“2012-11-09 17:36:25”并为其分配了变量“date”。虽然我仍然不确定为什么会发生这种情况,但它与t.timestamp命令有关。
t.timestamp创建了2个变量:
副文件将2012-11-09 17:36:25作为“日期”变量,这是基于格式的合理猜测,但是对于Rails应用程序标准来说是错误的。我的表只有两个日期时间格式的变量,就是我在上面命名的变量。
我打开了种子文件并将所有“:date”替换为“:created_at”,它解决了问题。 updated_at然后自动获取值(更新时未从我的旧数据库传输到这个新数据库)。
created_as数据确实传输并且是正确的。 updated_at在所有数据中获取了相同的值(我注意到它是日期和时间并执行了rake db:seed:load命令。