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,它的工作原理是完美的,但我知道它已被取消,我不想继续使用它。