我知道schema.rb
文件是一个
ruby文件,并且在运行rake迁移时可以创建和
修改它,但是struct.
sql如何.
我已经看到在一些项目schema.rb和其他的结构.sql和一些两个文件,他们在哪里配置要创建哪个文件.
两者之间有什么区别?
生成的struct.sql特定于特定的数据库.
主要区别在于schema.rb是
数据库的
Ruby表示形式,它通常与
数据库无关. struct.
sql是
数据库的
sql表示形式,它取决于您选择的特定
数据库.
如果您具有需要的特定数据库功能,并且不能由schema.rb表示,则只使用该结构.例如,在过去,有些人用schema.rb替换了struct.sql,以便在数据库级使用Postgresql JSONB字段或外键约束.
迁移中现在支持这两个功能,因此您不需要再转换到struct.sql(在这些情况下).
一般来说,我建议你使用schema.rb.
原文链接:https://www.f2er.com/ruby/271698.html