我正试图将我的应用程序从Postgres移到Oracle,并且在初始数据播种期间我正面临Oracle序列管理的一些意外。Ruby on Rails和Oracle序列
=>目标是在各种数据库(PostGres,Oracle,MSSQL)上运行相同的应用程序,并且此初始数据(管理员用户,参数...)应具有特定的ID,从1开始分配关于创作的顺序。当然,为了这个特定的目的,我可以对ID进行硬编码。
=>移植和播种由
rake db:migrate RAILS_ENV=ORACLE
rake db:seed RAILS_ENV=ORACLE
环境做什么都没有具体的,但相关的ActiveRecord适配器。 使用Oracle,种子数据ID不会像预期的那样从1开始(在Postgres或MS SQL中的行为),但它们以10000开头。
查看数据库迁移期间创建的序列,它们都以10000 LAST_NUMBER)。
它是一种Oracle方式,还是它是一种activerecord-oracle_enhanced-适配器的做事方式?
它为什么这样设置?
有没有办法从1开始编号?
感谢您的帮助,
最好的问候,
弗雷德
什么是“分贝迁移期间创建序列”是什么意思?您使用什么工具/实用程序来执行此迁移?Oracle序列完全有可能从1开始(尽管我有兴趣理解你为什么在乎它是从1还是1万开始)。但是,如果您正在从一个数据库迁移到另一个数据库,通常希望序列从一个大于其所在位置的值开始,以免重新使用关键值。 –