Answers:
我用rake db:reset
它删除,然后重新创建数据库,并包括您的seeds.rb文件。
http://guides.rubyonrails.org/migrations.html#resetting-the-database
如果您不想删除并重新创建整个shebang只是为了重新加载数据,则可以在种子加载数据之前使用seed.db文件中的MyModel.destroy_all
(或delete_all
)清除表MyModel.create!(...)
。然后,您可以db:seed
一遍又一遍地重做该操作。(显然,这只会影响您已将数据加载到其中的表,而不会影响其余的表。)
https://stackoverflow.com/a/14957893/4553442上有一个“肮脏的hack”,它添加了类似于上下迁移的“去种子”操作...
rake db:reset
当您要删除本地数据库并从加载的数据重新开始时,可以使用db/seeds.rb
。当您仍然需要确定模式时,这是一个有用的命令,并且经常需要将字段添加到现有模型中。
使用reset命令后,它将执行以下操作:删除数据库:rake db:drop
加载模式:rake db:schema:load
播种数据:rake db:seed
但是,如果要完全删除数据库,可以使用rake db:drop
。删除数据库还将删除所有架构冲突或错误数据。如果要保留已有的数据,请确保在运行此命令之前对其进行备份。
这是有关最重要的rake数据库命令的详细文章。