【问题标题】:How to create schema in sql如何在sql中创建模式
【发布时间】:2011-08-12 02:16:19
【问题描述】:

根据 http://edgeguides.rubyonrails.org/configuring.htmlthis post 我在 application.rb 中有这个

config.active_record.schema_format = :sql

但是,它仍在创建 db/schema.rb(即使在我删除它之后),更重要的是,当我运行“rake db:migrate”时,它并没有在 sql 中创建模式。有人知道我在做什么错吗?我在 Rails 3.1 上。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 activerecord ruby-on-rails-3.1


    【解决方案1】:

    嗯,这可能是一个 Rails 错误,但您始终可以使用以下代码生成您的数据库结构:

    rake db:structure:dump
    

    这将为您生成一个“#{Rails.env}.sql”文件,其中包含您在 SQL 中的数据库结构。

    【讨论】:

    • 可行,但我们希望每次 db:migrate 时都更新 .sql 文件(如 schema.rb)。至少这就是我认为根据文档应该做的事情。否则做“config.active_record.schema_format = :sql”没有意义,因为我们可以随时手动“db:structure:dump”?
    • 是的,您希望切换到 :sql 不会破坏所有用于测试的 rake 支持基础架构 - 看起来像是几年前提交的补丁:github.com/rails/rails/issues/715 但是这不是我在 Rails 3.2 中看到的行为 - 似乎对此处概述的 rake 任务进行了广泛的改造:pivotallabs.com/… 仍然是必要的。 . .但也许我错过了什么?
    猜你喜欢
    • 1970-01-01
    • 2011-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-06
    • 1970-01-01
    相关资源
    最近更新 更多