2015-04-02 68 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