2017-02-20 44 views
1

Я собираюсь перенести мое приложение на Rails 5. Итак, теперь я делаю процесс удаления всех исправлений Rails 4.2. Я получаю следующее предупреждение устареванияУдаление рельсов 4.2 Исключения из файла миграции

DEPRECATION WARNING: `#timestamps` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in up at 

Как и все мои файлы миграция DOS не имеет какой-либо

null: false 

на мое поле временных отметок, как я могу избежать этого Deprecation от повышения?

+0

Если вы добавите значение «null: true» во все временные метки во всех ваших миграциях, то устаревание исчезнет. – MikDiet

+0

Будет ли это снова запускать мои миграции? Или простое изменение этого будет, во всяком случае, повлиять на мои данные БД, поскольку я собираюсь сделать это, также есть производство? –

ответ

0

Вы можете безопасно добавить null: false во все поля timestamp в ваших миграциях. Это еще не приведет к миграции. Все предыдущие идентификаторы миграции сохраняются в таблице базы данных с именем schema_migrations. Пока эта таблица содержит соответствующий идентификатор миграции, простое изменение файла не приведет к повторной миграции.