2014-12-29 14 views
38

Dopo aver aggiunto un altro la migrazione e la decisione di abbandonare occasionale e migrare ho controllato il mio schema.rb e ho visto questoChe cos'è: cascade in rails schema.rb e da dove proviene?

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

non ho commesso questo cambia ancora e sulla distanza ho questo

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

Ora ho una cascata davanti a ciascun tavolo. Cos'è la cascata e da dove viene?

risposta

66

The docs explain what :cascade does:

:force - Impostare :cascade far cadere gli oggetti dipendenti pure. Il valore predefinito è false.

Una ragione potrebbe essere vedendo questo è un cambiamento in Rails 4.2 in SchemaDumper utilizzare :cascade, release notes. Note

di uscita per il cambiamento:

SchemaDumper utilizza force: :cascade su create_table. Ciò rende possibile ricaricare uno schema quando sono presenti chiavi esterne.

+1

Oh, ho aggiornato i binari ieri. Grazie – kirqe

+1

Felice di poterti aiutare. –

+8

Nel caso in cui qualcuno voglia sapere * perché * sono state apportate modifiche, ecco il passaggio pertinente dalle note di rilascio: "SchemaDumper utilizza force:: cascade su create_table. Ciò consente di ricaricare uno schema quando le chiavi esterne sono in posizione. " – webdevguy

Problemi correlati