대부분의 테이블과 ID가 Rails 형식이 아니므로 레거시 데이터베이스를 사용하는 Rails 3.2 앱이 있습니다. 전체 앱은 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 인 것으로 보입니다.
수정 사항이 있습니까? deprecated set_primary_key를 계속 사용하면 완벽하게 작동하지만 depreceted 상태이므로 계속 사용하고 싶지 않습니다.