Wat is :cascade in rails schema.rb en waar komt het vandaan?

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 :cascadedoet:

:force– Stel in op :cascadeom ook afhankelijke objecten te verwijderen. Standaard ingesteld op false.

Een reden waarom je dit misschien ziet, is een wijziging in Rails 4.2 in SchemaDumperom :cascade, release-opmerkingen.

Opmerkingen over wijziging:

SchemaDumpergebruikt force: :cascadeop create_table. Dit maakt het mogelijk om een ​​schema opnieuw te laden wanneer externe sleutels aanwezig zijn.


Antwoord 2, autoriteit 7%

http://api.rubyonrails.org/ klassen/ActiveRecord/ConnectionAdapters/SchemaStatements.html#method-i-create_table

:kracht
Stel in op trueom de tabel te verwijderen voordat u deze maakt. Stel in op :cascadeom ook afhankelijke objecten te verwijderen. Standaard ingesteld op false.

Other episodes