gpt4 book ai didi

ruby-on-rails - 级联删除或引用删除选项

转载 作者:行者123 更新时间:2023-12-03 09:44:43 27 4
gpt4 key购买 nike

在Rails 4.2中,当创建表或通过引用或add_reference添加引用时,如何指定外键在删除时应级联。

生成支架的命令:

rails g scaffold Child parent:references name:string

导致的迁移:
create_table :childs do |t|
t.references :parent, index: true, foreign_key: true
t.string :name

t.timestamps null: false
end

最佳答案

这应该工作

create_table :childs do |t|
t.references :parent, index: true, foreign_key: {on_delete: :cascade}
t.string :name

t.timestamps null: false
end

根据 ActiveRecord::ConnectionAdapters::TableDefinition#references,如果在 foreign_key选项上指定了哈希,则将其直接向下传递到 foreign_key方法中。

资源:
foreign_key(col.to_s.pluralize, foreign_key_options.is_a?(Hash) ? foreign_key_options : {}) if foreign_key_options

关于ruby-on-rails - 级联删除或引用删除选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30154798/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com