Ich habe eine Rails-Anwendung, die eine Rails-Engine ausführt, indem sie explizit in der Gemfile deklariert. Ich habe ein Skript eingerichtet, um die Migrationen von der Engine zu installieren: rake railties:install:migrations
und dann migriert. Wenn ich das Skript ausführe, werden die Migrationen installiert, aber wenn die Migrationen ausgeführt werden, erhalte ich einen DuplicateMigration-Fehler. Ich untersuchte diese weiter und sah, dassSchienenmigrationspfade durch Engine eingeführt
Rails.application.paths['db/migrate'].to_a
in Folge:
["/src/db/migrate","/bundle/bundler/gems/my_engine-w8ejw9jf/db/migrate"]
Irgendwie ist der Migrationspfad von dem Bündel-Verzeichnis wird auf die Rails-Anwendung Pfade hinzugefügt zu werden. Wo passiert das? Kann ich verhindern, dass die Migrationspfade aus meinem Bundle-Verzeichnis in den Anwendungspfaden enthalten sind?