【问题标题】:Force table to start ID increment from 0 again in ActiveRecord?强制表在 ActiveRecord 中再次从 0 开始 ID 递增?
【发布时间】:2010-09-15 16:48:02
【问题描述】:

我正在尝试为我的 Rails 应用程序设置种子数据,并指望每个模型的 id 是特定值。在MyModel.destroy_all 之后,我如何告诉表格再次从 0 开始计数,而不是从它停止的地方开始计数?

【问题讨论】:

    标签: sql ruby-on-rails database activerecord


    【解决方案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
    

    【讨论】:

    猜你喜欢
    • 2012-05-31
    • 2012-11-21
    • 1970-01-01
    • 1970-01-01
    • 2021-11-22
    • 1970-01-01
    • 2021-11-18
    • 1970-01-01
    相关资源
    最近更新 更多