tsd*_*own 9 sql migration postgresql ruby-on-rails
我正在向使用PostgreSQL作为后端的heroku部署rails应用程序.在我的数据库迁移中,我通常会将报告等内容的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
Run Code Online (Sandbox Code Playgroud)
有没有人知道我如何为PostgreSQL实现同样的目标,理想情况下我希望迁移来构建表本身,这不是特定于数据库的.
我想实现我的目标的一个愚蠢的方法是在循环中创建和删除999条记录,哎哟.
Mic*_*ker 16
不知道红宝石和铁路部分,但查询你所说的是
ALTER SEQUENCE reports_something_seq RESTART 1000;
Run Code Online (Sandbox Code Playgroud)
您将需要查找表格中的序列名称和postgresql文档,以了解有关此事项的一般教育;-)
在postgres中,与许多其他数据库一样,自动增量功能通过Sequences完成.对于每个Serial和like字段,序列由Postres为您自动创建,并命名为TABLENAME _ COLUMNNAME _ seq.
所以,你必须改变相应的序列,如下所示:
ALTER SEQUENCE example_id_seq RESTART 1000 -- corrected from START
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7729 次 |
| 最近记录: |