2015-04-02 41 views
0

我正在爲我的公司開發發票應用程序,並希望在我的舊系統離開時開始我的發票(909)。我怎麼去解決這個問題?我認爲修改發票表'主鍵在909開始自動增量。你們會怎麼做呢?我正在使用rails 4和sqlite for db。如何修改主鍵auto_increment的開始?

謝謝你的時間!在創建表之後

UPDATE SQLITE_SEQUENCE SET seq = 909 WHERE name = 'invoices' 

您可以在遷移的初始值:

+0

的可能重複[自動增量SQLite中設置的起始值(http://stackoverflow.com/questions/692856/set-start-value-for-autoincrement-in-sqlite) – infused 2015-04-02 19:03:28

+0

建議的答案並不明確如何做到這一點。請幫助一位菜鳥。 Iv'e徹底搜查,找不到合適的答案。 – davefogo 2015-04-02 19:30:01

回答

0

假設你的發票表稱爲invoices,運行下面的SQL查詢。在遷移使用:

ActiveRecord::Base.connection.execute("UPDATE SQLITE_SEQUENCE SET seq = 909 WHERE name = 'invoices'") 
+0

感謝您的回答。你可以請我走過嗎?這是通過軌道控制檯完成的嗎? ActiveRecord的:: Base.connection.execute?謝謝 – davefogo 2015-04-02 20:45:58

+0

是的,你可以通過'ActiveRecord :: Base.connection.execute'或直接通過'sqlite3'控制檯運行它。 – infused 2015-04-02 21:00:18

+0

那麼只需運行sqlite3 db/development.sqlite3進入Sql控制檯吧?我通過irb遇到了麻煩。 – davefogo 2015-04-02 21:03:57