我正試圖將我的應用程序從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萬開始)。但是,如果您正在從一個數據庫遷移到另一個數據庫,通常希望序列從一個大於其所在位置的值開始,以免重新使用關鍵值。 –