Rails 3.1: Проблема сохранения записи с ненулевым логическим столбцом mysql (false сохраняет как NULL) - PullRequest
4 голосов
/ 22 августа 2011

Использование Rails 3.1rc5 и разработка 1.4.2.У меня есть следующий столбец в таблице пользователей

add_column :users, :has_dummy_password, :boolean, :default => false, :null => false

Без предложения :null => false, если я сделаю следующее с существующей записью пользователя ...

user.has_dummy_password = false
user.save

... thenтогда в mysql столбец имеет значение NULL.

С предложением :null => false я (что неудивительно) получает следующую ошибку mysql:

Column 'has_dummy_password' cannot be null

Я могу обойти это, выполнив

user.has_dummy_password = 0
user.save

, потому что "под капотом "логические переменные реализованы как tinyint в mysql.Это кажется немного прискорбным.

Можно ли фактически установить значения логических столбцов с true / false в Rails 3.1 вместо 1/0?

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