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

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

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

3 Solutions collect form web for “重置数据库(全部清除),然后种子数据库”

我使用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有一个“肮脏的黑客”来添加一个类似于迁移上下的“脱种”操作…

  • Rspec 3如何testingFlash消息
  • 如何将Ruby类名转换为下划线符号?
  • Rails浏览器检测方法
  • form_tag和Simple_form一起工作吗?
  • Ruby / Rails:将date转换为UNIX时间戳
  • 为什么我不能安装SQLite的gem?
  • Rails - 最佳实践:如何创build相关的has_one关系
  • 如何在RSpec中多次说“should_receive”
  • 合并两个ActiveRecord :: Relation对象
  • 在Ruby中读取文件的第一行
  • Rails的devise:获取当前login用户的对象?