2016-12-28 2 views
1

Работая над Rails 5, я хочу использовать structure.sql вместо schema.rb (мы используем PostGIS с лотами пользовательских вызовов SQL ...). В config/initializers/database_options.rb У меня есть следующее:В Rails 5, устанавливая config.active_record.schema_format =: sql, но все же получая schema.rb, созданный на db: migrate

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

Если я запускаю следующее:

$ rake db:migrate 

он генерирует db/schema.rb, неdb/structure.sql.

рельсы направляющие говорят:

Есть два способа дампа схемы. Этот параметр устанавливается в config/application.rb по настройке config.active_record.schema_format , которая может быть: sql или ruby.

Какую магию я здесь не хватает?

ответ

2

Я думаю, что вы должны поставить конфигурацию компонентов своих направляющих до Initializers. Приложение rails инициализируется следующим порядком.

  • конфигурации/application.rb
  • Environment-специфические конфигурационные файлы
  • Инициализаторы
  • After-Инициализаторы

Вы можете поместить ваш конфигурационный config.active_record.schema_format = :sql либо в config/application.rb или config/environments/development.rb зависит от окружающей среды вы используемый.

Это должно сработать.

 Смежные вопросы

  • Нет связанных вопросов^_^