Почему rails устанавливает ": null => false" во всех моих столбцах в schema.rb? - PullRequest
3 голосов
/ 02 апреля 2010

Даже если я никогда не укажу :null => false в моих миграциях, которые изначально добавляют столбцы в таблицы, rails все равно генерирует код в schema.rb, который определяет столбцы как имеющие :null => false. Почему это? Если я разрабатываю на своем боксе, а затем использую rake db:schema:load на своем производственном боксе, у меня будет совсем другое поведение!

Редактировать: даже если я удаляю schema.rb и запускаю rake db:schema:dump, он все равно помещает :null => false в новую схему, даже если она не определена в реальной базе данных. Кажется, он не может сказать, помечен ли столбец как разрешающий нули. Я использую SQLite, если это поможет.

Ответы [ 2 ]

2 голосов
/ 02 апреля 2010

Я действительно ненавижу, что это было так тонко, но проблема была в том, что я использовал камень sqlite3 вместо sqlite3-ruby. Как только я исправил это в environment.rb, все стало лучше.

0 голосов
/ 02 апреля 2010

Возвращение к ruby ​​1.8.7 помогло мне.

Не знаю почему, хотя.

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