Ruby on rails 在Rails创建中更改PostgreSQL默认ID序列
我有一个导入数据库的sql转储文件。此sql转储中的所有记录的id都从900到2500 所以问题是,如果我从我的rails应用程序创建新记录,它将自动获得id=1,下一个将获得2,3,4等。我猜当我创建900s记录时,我将得到一个错误,因为id=900已经存在 注意:我不能在我的sql转储文件中将我的id更改为从1开始,因为另一个表按id引用它 有什么解决办法吗Ruby on rails 在Rails创建中更改PostgreSQL默认ID序列,ruby-on-rails,postgresql,Ruby On Rails,Postgresql,我有一个导入数据库的sql转储文件。此sql转储中的所有记录的id都从900到2500 所以问题是,如果我从我的rails应用程序创建新记录,它将自动获得id=1,下一个将获得2,3,4等。我猜当我创建900s记录时,我将得到一个错误,因为id=900已经存在 注意:我不能在我的sql转储文件中将我的id更改为从1开始,因为另一个表按id引用它 有什么解决办法吗 我使用PostgreSQLRails从数据库获取它使用的id,对于postgres,每个表的id字段都有相应的序列,因此为了让Rail
我使用PostgreSQLRails从数据库获取它使用的id,对于postgres,每个表的
id
字段都有相应的序列,因此为了让Rails跳过id
s块,您只需更新相应的序列:
ALTER SEQUENCE plural_table_name_id_seq RESTART WITH 2501;
如果愿意,您可以将其放入Rails迁移中,或者在数据库上运行它