什么是:rails schema.rb中的cascade以及它来自哪里?

kir*_*rqe 47 ruby-on-rails

添加另一个迁移和偶尔决定删除和迁移后,我检查了我的schema.rb并看到了这个

create_table "users", force: :cascade do |t|
Run Code Online (Sandbox Code Playgroud)

我还没有提交这些更改,而且我已经有了这个

create_table "users", force: true do |t|
Run Code Online (Sandbox Code Playgroud)

现在我在每张桌子前面都有级联.什么是级联,它来自哪里?

And*_*bbs 76

该文档说明什么:cascade:

:force- 设置为:cascade删除依赖对象.默认为false.

你可能会看到这个的一个原因是Rails 4.2在SchemaDumper使用:cascade,发行说明中的​​变化.

发布有关更改的说明:

SchemaDumper使用force: :cascadecreate_table.这使得在外键到位时可以重新加载模式.


张健健*_*张健健 6

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

:force设置为true在创建表之前删除表。设置为:cascade也删除依赖对象。默认为false