модель может быть сохранена, но идентификатор равен nil в rails3 с адаптером с расширенным оракулом - PullRequest
1 голос
/ 13 октября 2010
ruby 1.9.2 
rails 3.0.0 
ruby-oci 2.0.4
activerecord-oracle_enhanced-adapter 1.3.1

например, таблица с именем users (id: number (38,0), name)

user = User.new
user.name ='test'
user.save! # is successful
user.id # got nil
user.name # got 'test'

и в базе данных у меня есть последовательность с именем «USERS_SEQ» и она хорошо работает (nextval или currentvalправильно)

В чем проблема?

Ответы [ 2 ]

0 голосов
/ 13 октября 2010

Может быть, ваша таблица не имеет ограничения первичного ключа, и поэтому столбец первичного ключа не идентифицируется адаптером oracle_enhanced?

См. Обсуждение в http://groups.google.com/group/oracle-enhanced/browse_thread/thread/3cf18b86333752c5

0 голосов
/ 13 октября 2010

Вам необходимо явно назначить users_seq.nextval для user.id. Это не делается автоматически, как в SQL Server. В Oracle нет такого понятия, как столбец автоинкремента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...