Ruby on rails rake db:reset不填充数据
我的环境->Ruby 1.9.2和Rails v3.0.5 我注意到rakedb中有一个奇怪的模式:reset。根据rails源代码,rake db:reset将=>db:drop、db:create和db:migrate 设置:我的一个迁移文件包含Model.create语句来填充一些数据(请原谅,我不是在这些迁移中添加数据填充代码的人:)…) 案例1:当我手动执行这些步骤时,我的意思是一个接一个地删除、创建和迁移—这些语句填充表中的数据 案例2:当我只执行rake db:reset时,模式设置正确。但是数据没有进入数据库。db:是否重置跳过创建/更新语句。。我已经尝试了好几次,以确保在我所做的步骤中没有错误。我仍然有这种行为Ruby on rails rake db:reset不填充数据,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我的环境->Ruby 1.9.2和Rails v3.0.5 我注意到rakedb中有一个奇怪的模式:reset。根据rails源代码,rake db:reset将=>db:drop、db:create和db:migrate 设置:我的一个迁移文件包含Model.create语句来填充一些数据(请原谅,我不是在这些迁移中添加数据填充代码的人:)…) 案例1:当我手动执行这些步骤时,我的意思是一个接一个地删除、创建和迁移—这些语句填充表中的数据 案例2:当我只执行rake db:reset时,模式设
这里出了什么问题 我认为你在源代码中读错了行。正如我读到的:
db:migrate:reset
#=>[:drop,:create,:migrate]
db:reset
#=>[:drop,:setup]
因此,
db:reset
只需创建表并将迁移设置为已运行,而不实际运行它们db:migrate:reset实际上会运行每次迁移。我以前也遇到过同样的问题,但我运行的是3.0.3,结果是,不知何故,我通过更改迁移文件而不运行迁移(忘记了它或其他什么)来搞乱迁移。我将从检查这些文件开始。你能发布迁移吗?