【发布时间】:2017-06-05 21:40:24
【问题描述】:
结构只是数据库的sql 版本,而架构是数据库的Rails 版本吗?你想什么时候加载?还是有影响?
【问题讨论】:
标签: ruby-on-rails database data-structures schema rake
结构只是数据库的sql 版本,而架构是数据库的Rails 版本吗?你想什么时候加载?还是有影响?
【问题讨论】:
标签: ruby-on-rails database data-structures schema rake
架构文件是您的数据库的 Rails 版本,不包含任何特定于数据库的内容,例如视图、触发器等。
db/schema.rb 不能表达数据库特定的项目,例如触发器, 序列、存储过程或检查约束等。请注意 虽然自定义 SQL 语句可以在迁移中运行,但这些 模式转储程序无法重构语句。如果你是 使用这样的功能,那么您应该将架构格式设置为 :sql。 http://edgeguides.rubyonrails.org/active_record_migrations.html#schema-dumping-and-you
您何时使用其中一种取决于您是否有所需的数据库特定的东西。如果您只使用带有索引和主键和外键的基本表,那么您最好使用架构文件。
在我看来,我总是使用structure.sql,因为我总是使用一些特定于数据库的东西。
您可以通过在 config/application.rb 文件中进行更改来更改要使用的格式。
config.active_record.schema_format = :sql # default is :ruby
【讨论】: