2014-12-29 5 views
38

После добавления другой миграции и иногда решение сбросить и перенастройки я проверил мой schema.rb и увидел этотЧто такое: каскад в рельсах schema.rb и откуда он взялся?

create_table "users", force: :cascade do |t| 

Я не совершал этого изменения еще и на пульте дистанционного управления у меня есть этот

create_table "users", force: true do |t| 

Теперь у меня есть каскад перед каждым столом. Что такое каскад и откуда оно взялось?

ответ

66

The docs explain what :cascade does:

:force - Установите :cascade уронить зависимые объекты. По умолчанию false.

Одна из причин, вы можете видеть это изменение в Rails 4.2 в SchemaDumper использовать :cascade, release notes.

Заметки о выпуске об изменении:

SchemaDumper использует force: :cascade на create_table. Это позволяет перезагрузить схему при наличии внешних ключей.

+1

О, я обновил рельсы вчера. Спасибо – kirqe

+1

Рад, что я мог бы помочь. –

+8

В случае, если кто-то хочет знать * почему * эти изменения были сделаны, вот соответствующий отрывок из примечаний к выпуску: «SchemaDumper использует force:: cascade на create_table. Это позволяет перезагрузить схему, когда внешние ключи находятся на своем месте. " – webdevguy

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