【发布时间】:2010-09-15 16:48:02
【问题描述】:
我正在尝试为我的 Rails 应用程序设置种子数据,并指望每个模型的 id 是特定值。在MyModel.destroy_all 之后,我如何告诉表格再次从 0 开始计数,而不是从它停止的地方开始计数?
【问题讨论】:
标签: sql ruby-on-rails database activerecord
我正在尝试为我的 Rails 应用程序设置种子数据,并指望每个模型的 id 是特定值。在MyModel.destroy_all 之后,我如何告诉表格再次从 0 开始计数,而不是从它停止的地方开始计数?
【问题讨论】:
标签: sql ruby-on-rails database activerecord
最好的方法可能是删除整个表,重新创建它,然后播种它。您可以使用自定义 rake 任务来执行此操作。
试试这样的方法来放下你的桌子:
desc "Drop MyModel table"
task :drop_my_model => :environment do
connection = ActiveRecord::Base.connection
connection.execute("drop table my_models")
end
end
然后你就可以耙了
$ rake drop_my_model
$ rake db:migrate:up VERSION=my_version
【讨论】: