0
我有一個使用舊數據庫的Rails 3.2應用程序,所以大多數表和ID都不是Rails格式。整個應用程序使用set_table_name
和set_primary_key
,並且由於我們最近從3.0遷移到了3.2,所以我們收到了大量的棄用警告。Rails「self.primary_key ='another_key'」不起作用
建議使用self.primary_key = 'another_key'
,但由於某種原因,此方法無效。
我使用FactoryGirl建立並保存模型,當它試圖拯救它給了我下面的錯誤模型(在Oracle數據庫上)
ActiveRecord::StatementInvalid:
OCIError: ORA-01400: cannot insert NULL into (sql string)
基本上從我的理解,自定義的primary_key沒有被正確設置,並且以nil結尾,這顯然會引發這個錯誤。 SQL字符串具有正確的自定義PK,但似乎傳遞給它的值爲null。
有沒有解決這個問題?如果我保留已棄用的set_primary_key,它的工作原理是完美的,但我知道它已被取消,我不想繼續使用它。