1
我正在嘗試爲我的Rails應用程序設置種子數據,並且正在指望每個模型的id
爲特定值。我怎麼能告訴表,在MyModel.destroy_all
之後從0再次開始從0開始計數,而不是從何處開始計數?強制表在ActiveRecord中再次從0開始ID增量?
我正在嘗試爲我的Rails應用程序設置種子數據,並且正在指望每個模型的id
爲特定值。我怎麼能告訴表,在MyModel.destroy_all
之後從0再次開始從0開始計數,而不是從何處開始計數?強制表在ActiveRecord中再次從0開始ID增量?
最好的辦法可能是刪除整個表格,然後重新創建它,然後播種它。您可以使用自定義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
我剛剛通過這個http://stackoverflow.com/q/1316889/328998實現rake db:migrate:redo VERSION = my_version可以做到這一點 – Yannis 2010-09-15 20:33:27