如何在sql中创建模式

vin*_*nce 30 activerecord ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

根据http://edgeguides.rubyonrails.org/configuring.html这篇文章,我在application.rb中有这个

config.active_record.schema_format = :sql
Run Code Online (Sandbox Code Playgroud)

但是,它仍在创建db/schema.rb(即使在我删除它之后),更重要的是,当我运行"rake db:migrate"时,它不会在sql中创建模式.谁知道我做错了什么?我正在使用Rails 3.1.

Mau*_*res 40

好吧,这可能是一个rails bug,但你可以随时生成你的db结构:

rake db:structure:dump
Run Code Online (Sandbox Code Playgroud)

这将使用SQL中的数据库结构为您生成"#{Rails.env} .sql"文件.

  • 这有效,但我们希望每次db:migrate时都更新.sql文件(如schema.rb).至少这是我认为根据文档应该做的事情.否则做"config.active_record.schema_format =:sql"是没有意义的,因为我们可以随时手动"db:structure:dump"吗? (10认同)