首页 > 解决方案 > 在 rails 引擎中维护 schema.rb 并运行在引擎的 schema.rb 中更新的迁移

问题描述

我有一个 Rails 引擎,目前有一个迁移文件

my_engine/db/migrate/20190611032851_add_columns_to_products.rb

class AddColumnsToInsuranceProducts < ActiveRecord::Migration[5.0]
  def change
    add_column :insurance_products, :description_ms, :string
  end
end

我知道要让我的引擎迁移与我的主应用程序分开,并在我从我的应用程序运行 rake db:migrate 时让它运行,教程说我应该这样做

   initializer :append_migrations do |app|
      unless app.root.to_s.match root.to_s
        config.paths["db/migrate"].expanded.each do |expanded_path|
          app.config.paths["db/migrate"] << expanded_path
        end
      end
    end

目前,我有两个数据库,我希望能够在我的引擎中创建一个 schema.rb 文件作为 my_engine/db/schema.rb 并且能够运行rake db:migrate并且它只更新我的 rails_engine 的 table 一个 schema.rb。

什么是最简单和无缝的方法?

标签: ruby-on-railsrubyrubygemsrails-activerecordrails-engines

解决方案


推荐阅读