重置数据库(全部清除),然后种子数据库

是否有一个rake命令来清除数据库表中的数据?

如何创build一个数据库:种子脚本来预填充数据到我的表?

我使用rake db:reset删除,然后重新创build数据库,并包括你的seeds.rb文件。 http://guides.rubyonrails.org/migrations.html#resetting-the-database

您可以删除一切,并重新创build数据库+种子:

  1. rake db:reset :从schema.rb加载
  2. 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有一个“肮脏的黑客”来添加一个类似于迁移上下的“脱种”操作…

Interesting Posts