Na het toevoegen van nog een migratie en af en toe een beslissing om te stoppen en te migreren, controleerde ik mijn schema.rb
en zag dit
create_table "users", force: :cascade do |t|
Ik heb deze wijzigingen nog niet doorgevoerd en op afstand heb ik dit
create_table "users", force: true do |t|
Nu heb ik cascade voor elke tafel. Wat is cascade en waar komt het vandaan?
Antwoord 1, autoriteit 100%
De documenten leggen uit wat :cascade
doet:
:force
– Stel in op:cascade
om ook afhankelijke objecten te verwijderen. Standaard ingesteld opfalse
.
Een reden waarom je dit misschien ziet, is een wijziging in Rails 4.2 in SchemaDumper
om :cascade
, release-opmerkingen.
Opmerkingen over wijziging:
SchemaDumper
gebruiktforce: :cascade
opcreate_table
. Dit maakt het mogelijk om een schema opnieuw te laden wanneer externe sleutels aanwezig zijn.
Antwoord 2, autoriteit 7%
:kracht
Stel in op true
om de tabel te verwijderen voordat u deze maakt. Stel in op :cascade
om ook afhankelijke objecten te verwijderen. Standaard ingesteld op false
.