使用Rails 5应用,我想使用structure.sql
代替schema.rb
(我们正在使用带有大量自定义SQL调用的PostGIS ...)。在config/initializers/database_options.rb
我有以下内容:
# use structure.sql, not schema.rb
Rails.application.config.active_record.schema_format = :sql
如果我运行以下内容:
$ rake db:migrate
它生成db/schema.rb
, 不 db/structure.sql
。
导轨指南说:
有两种方法可以转储架构。这是设置的 config.active_record.schema_format配置/ application.rb 设置,可以是:sql或:ruby。
我在这里错过了什么魔力?
答案 0 :(得分:4)
我认为你应该在Initializers
之前设置你的rails组件配置。
rails应用程序按以下顺序初始化。
您可以将配置config.active_record.schema_format = :sql
置于config/application.rb
或config/environments/development.rb
,具体取决于您使用的环境。
这应该有效。
答案 1 :(得分:0)
在初始值设定项中执行
Rails.application.configure do
config.active_record.schema_format = :sql
end