【问题标题】:Rails engine model schema not updatingRails 引擎模型架构未更新
【发布时间】:2015-03-26 18:03:09
【问题描述】:

我目前在我的 Rails 应用程序中有一个名为 Marketplace 的引擎。我正在创建一个要在引擎中使用的模型,但是这个模型需要与主应用程序的数据库进行交互。

我创建了模型,并在我的 engine.rb 文件中添加了一些代码,这样当从主应用程序运行迁移时,引擎的迁移文件也会运行。

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

一切正常,数据库识别引擎,但是模型的模式文件没有更新。我假设架构命令找不到要更新的适当模型。

另外,使用 rails 4。

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-4 rails-engines


    【解决方案1】:

    如果您使用的是 rails 引擎,那么您可能不想更新引擎的模型架构。这样理论上您可以在不同的应用程序中使用该引擎。从 rails 文档中,我学会了在我的 rails 应用程序中创建迁移,然后将迁移复制到应用程序中:

    rake engine:install:migrations
    

    然后,您可以从您的 rails 应用程序运行迁移。

    Rails guide on engine migrations

    虽然之前编写的代码实际上会从您的应用程序引擎运行迁移,但它不会将迁移文件复制到您的应用程序中(那么引擎的意义何在?)。

    【讨论】:

      猜你喜欢
      • 2011-03-20
      • 1970-01-01
      • 2023-03-12
      • 2014-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多