Tôi đang sử dụng Rails 4.2.3 và cơ sở dữ liệu PostGres. Tôi muốn viết một di chuyển để cập nhật một trong những chìa khóa nước ngoài của tôi để có một thác chế on-xóa, vì vậy tôi tạoLàm cách nào để tạo di chuyển Rails cập nhật khóa ngoại với ràng buộc xếp tầng đang xóa?
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
nhưng khi tôi chạy di cư tôi nhận được báo lỗi dưới đây ...
$ 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'
Tôi phải viết di chuyển của mình để cập nhật khóa ngoại như thế nào?