我有一个Rails应用程序,它通过在Gemfile中显式声明它来运行Rails引擎。我有一个脚本设置用于通过以下方式安装引擎的迁移:rake railties:install:migrations
然后迁移。当我运行该脚本时,将安装迁移,但是当迁移运行时,会出现DuplicateMigration错误。我调查这进一步,看到通过引擎引入的Rails迁移路径
Rails.application.paths['db/migrate'].to_a
导致:
["/src/db/migrate","/bundle/bundler/gems/my_engine-w8ejw9jf/db/migrate"]
不知何故从包目录迁移路径被添加到该Rails应用程序的路径。这发生在哪里?有没有办法阻止我的bundle目录中的迁移路径被包含在应用程序路径中?