Ich benutze Rails 4.2.3 und eine PostGres-Datenbank. Ich möchte eine Migration schreiben eine meiner Fremdschlüssel zu aktualisieren, eine On-DELETE CASCADE-Einschränkung zu haben, so habe ichWie erstelle ich eine Rails-Migration, die einen Fremdschlüssel mit einer On-Delete-Kaskadenbedingung aktualisiert?
class UpdateForeignKeyAddOnDeleteConstraint < ActiveRecord::Migration
def change
remove_foreign_key :my_object_times, :my_objects
add_foreign_key :my_object_times, :my_objects, on_delete: cascade
end
end
aber wenn ich die Migration laufen bekomme ich die folgenden Fehler ...
$ rake db:migrate
== 20160525203028 UpdateForeignKeyAddOnDeleteConstraint: migrating ============
-- remove_foreign_key(:my_object_times, :my_objects)
-> 0.0454s
-- cascade()
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
undefined local variable or method `cascade' for #<UpdateForeignKeyAddOnDeleteConstraint:0x007f82f2c71998>
/Users/davea/.rvm/gems/[email protected]/gems/activerecord-4.2.5.1/lib/active_record/migration.rb:664:in `block in method_missing'
/Users/davea/.rvm/gems/[email protected]/gems/activerecord-4.2.5.1/lib/active_record/migration.rb:634:in `block in say_with_time'
/Users/davea/.rvm/gems/[email protected]/gems/activerecord-4.2.5.1/lib/active_record/migration.rb:634:in `say_with_time'
/Users/davea/.rvm/gems/[email protected]/gems/activerecord-4.2.5.1/lib/active_record/migration.rb:654:in `method_missing'
Wie soll ich meine Migration schreiben, um den Fremdschlüssel zu aktualisieren?