2010-03-11 28 views
4

我想將創建對象的ID的最小值從1更改爲1000. 因此,當我在rails中創建第一個模型對象時,它將獲得ID 1000而不是1 。將默認ActiveRecord ID從0更改爲1000000

有沒有辦法在架構/遷移文件中設置它?

+0

? – shingara 2010-03-11 11:23:16

回答

5

我不熟悉的MySQL,但Postgres的你可以做這樣的事情在你遷移文件:

class CreateCustomers < ActiveRecord::Migration 
    def self.up 
    create_table :customers do |t| 
     t.string :name 
     t.timestamps 

    end 
    execute "SELECT setval('customers_id_seq', 1000);" 
end 

注意,執行方法調用的CREATE_TABLE塊外進行。

5

對於MySQL使用

class CreateCustomers < ActiveRecord::Migration 
    def self.up 
    create_table :customers do |t| 
     t.string :name 
     t.timestamps 

    end 
    execute "ALTER TABLE customers AUTO_INCREMENT = 1000;" 
end 

這將有你的auto_increment字段(ID)開始在其數據庫值1000

相關問題