2015-02-02 2 views
1

У моей модели пользователя есть 'email: string'. Я добавил «null: false» в _create_users.rb и перенесен.Как удалить 'null: false'

t.string :email, null: false 

После этого я снял «нуль: ложный» от этого _create_users.rb и запустить rake db:migrate. Однако «null: false» остается в schema.rb. Я хочу удалить это.

Что мне делать? Правильно ли редактировать shema.rb?

ответ

2

После того, как вы выполните миграцию, rake db:migrate не запустит ее. Попробуйте:

rake db:migrate:redo 

если это последняя миграция.

Примечание. Если миграция была перенесена/развернута, вы никогда не должны ее менять после этого, так как это приведет к тому, что локальные базы данных других людей не синхронизируются с вашей локальной базой данных. Это может вызвать такие проблемы, с которыми у вас будут дискуссии с большим количеством «это работает для меня, какова ваша проблема?».

Вкратце - если вам нужно изменить существующую миграцию, не делайте этого и не пишите новый.

+0

'redo' Я никогда не знал ... Новое обучение. –

Смежные вопросы