2016-12-28 48 views
1

使用Rails 5應用程序時,我想使用structure.sql而不是schema.rb(我們使用PostGIS自定義SQL調用...)。在config/initializers/database_options.rb我有以下幾點:在Rails 5中,設置config.active_record.schema_format =:sql,但仍然獲取在db上創建的schema.rb:migrate

# use structure.sql, not schema.rb 
Rails.application.config.active_record.schema_format = :sql 

如果我運行以下命令:

$ rake db:migrate 

它產生db/schema.rbdb/structure.sql

軌道導遊說:

有兩種方法來轉儲模式。這是通過config.active_record.schema_format 設置在 config/application.rb中設置的,它可以是:sql或:ruby。

我在這裏想念什麼魔法?

回答

2

我想你應該把你的rails組件配置在Initializers之前。 rails應用程序按以下順序初始化。

  • 的config/application.rb中
  • 環境特定的配置文件
  • 初始化器
  • 後,初始化

你可以把你的配置config.active_record.schema_format = :sql無論是在config/application.rbconfig/environments/development.rb取決於你的環境用過的。

這應該工作。

相關問題