强制表在ActiveRecord中再次从0开始ID递增?

时间:2010-09-15 16:48:02

标签: sql ruby-on-rails database activerecord

我正在尝试为我的Rails应用设置种子数据,并指望每个模型的id是一定值。在MyModel.destroy_all再次从0开始计数而不是从中断的位置开始计数之后,如何告诉表格呢?

1 个答案:

答案 0 :(得分:1)

最好的方法可能是删除整个表,重新创建然后播种。您可以使用自定义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