Первичный ключ Rails 3 не обновляется в переменной экземпляра после вставки записи в базу данных - PullRequest
0 голосов
/ 03 марта 2011

Я использую rails 3.0.3 с унаследованными ресурсами и активным сервером sql адаптер записи и крошечными драгоценными камнями.

Когда я пытаюсь создать объект с отношением has_one (используя create! Из унаследованных ресурсов), идентификатор первичного ключа не устанавливается в родительском объекте. Следовательно, когда он пытается вставить этот неинициализированный идентификатор мусора в качестве внешнего ключа в объект has_one, я получаю арифметическую ошибку переполнения при попытке вставить идентификатор мусора в качестве целого числа для внешнего ключа.

Кто-нибудь сталкивался с этой проблемой.

например. Пользователь has_one Адрес. (При создании нового пользователя User.id не обновляется, поэтому при попытке вставить user_id в таблицу адресов вставка завершается неудачно, и завершенная транзакция откатывается с конечным результатом, что в пользовательской и адресной таблицах нет ни записи, ни записи )

При попытке отследить код в активной записи lib / active_record / persistence.rb метод create возвращает new_id в качестве значения неинициализированного мусора вместо идентификатора вновь вставленной записи.

Любая помощь / указатели будут с благодарностью помочь в решении этой проблемы.

Даже на консоли rails, если я делаю простой @user = User.create !, объект @user не имеет правильного идентификатора первичного ключа.

1 Ответ

1 голос
/ 03 марта 2011

Пожалуйста, обратитесь к руководству.

https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/wiki/Using-TinyTDS

Обычно в вашем файле freetds.conf "tds version" не установлен правильно на 8.

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