重置数据库(全部清除),然后种子数据库
是否有一个rake命令来清除数据库表中的数据?
如何创build一个数据库:种子脚本来预填充数据到我的表?
我使用rake db:reset
删除,然后重新创build数据库,并包括你的seeds.rb文件。 http://guides.rubyonrails.org/migrations.html#resetting-the-database
您可以删除一切,并重新创build数据库+种子:
-
rake db:reset
:从schema.rb加载 -
rake db:drop db:create db:migrate db:seed
:从迁移中加载
确保你没有连接数据库(导轨服务器,SQL客户端..)或数据库不会掉落。
schema.rb是您的数据库的当前状态的快照:
rake db:schema:dump
如果你不想删除和重新创build整个shebang只是为了重新加载你的数据,你可以使用MyModel.destroy_all
(或delete_all
)在seed.db文件清理表之前MyModel.create!(...)
语句加载数据。 然后,你可以一遍又一遍地重做db:seed
操作。 (显然,这只会影响你加载数据的表格,而不会影响其余的表格。)
在https://stackoverflow.com/a/14957893/4553442有一个“肮脏的黑客”来添加一个类似于迁移上下的“脱种”操作;…