【问题标题】:Rails rake db:structure:load vs. rake db:schema:loadRails rake db:structure:load 与 rake db:schema:load
【发布时间】:2017-06-05 21:40:24
【问题描述】:

结构只是数据库的sql 版本,而架构是数据库的Rails 版本吗?你想什么时候加载?还是有影响?

【问题讨论】:

    标签: ruby-on-rails database data-structures schema rake


    【解决方案1】:

    架构文件是您的数据库的 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 
    

    【讨论】:

      猜你喜欢
      • 2011-08-19
      • 2019-04-02
      • 1970-01-01
      • 2012-01-11
      • 2011-06-24
      • 2010-11-01
      • 2013-12-05
      • 2017-12-10
      • 2011-09-22
      相关资源
      最近更新 更多