我正在将rails应用程序部署到使用PostgreSQL作为后端的heroku。在我的数据库迁移中,我通常将诸如报告等之类的ID字段设置为至少1000,大多数客户端似乎不喜欢从1开始。
通常我使用mysql,在创建表后仅添加一个特定于sql的语句:
def self.up create_table :reports do |t| t.references :something ... end execute("ALTER TABLE reports AUTO_INCREMENT = 1000;") end
有人知道我可以为PostgreSQL实现同样的功能吗,理想情况下,我希望迁移能够构建表本身,而不是特定于数据库。
我猜想达到目标的一种愚蠢的方法是在循环中创建和删除999条记录,哎呀。
不知道红宝石和铁路部分,但您正在谈论的查询是
ALTER SEQUENCE reports_something_seq RESTART 1000;
您将需要在表中查找序列名称和PostgreSQL文档,以进行有关此问题的常规教育;-)