Rails 3.1引擎迁移无法工作。

6

我正在创建一个带有迁移的rails 3.1引擎。rake db:migration在该引擎内部和主应用程序内部正常工作。但是我需要将此引擎包含到另一个rails引擎中。第二个引擎包含用于测试的虚拟应用程序,我在该虚拟应用程序的application.rb文件中添加了以下行:

require 'my_engine'

在控制台中,我可以看到来自第一个引擎的类。
rake -T

给我应用程序:my_engine_engine:install:migrations任务,但当我运行这个任务时。
rake app:my_engine_engine:install:migrations

I'm getting this error:

rake aborted!
Don't know how to build task 'railties:install:migrations'

Tasks: TOP => app:my_engine_engine:install:migrations
(See full trace by running task with --trace)

有人能帮我解决这个问题吗?

2个回答

8
好的,我正在解决我的问题。 我只需要切换到我的测试应用程序目录并在那里运行:
rake my_engine_engine:install:migrations

它运行得很正常。

5
从你的回答中并不清楚你所说的“test”目录是哪一个。它是/test/dummy目录,还是其他测试目录,或者是你想要将你的引擎挂载到主应用程序目录中的“test”目录?你指的是哪个“test”目录? - Green
我会对你的应用程序进行猴子补丁,以便自动执行此操作(请参见第3步):http://pivotallabs.com/leave-your-migrations-in-your-rails-engines/ - courtsimas
但是我遇到了这个错误 不知道如何构建任务 'railties:install:migrations' - Sourabh Upadhyay

1
对于rails3,您需要cd /test/testapp,然后rake community_engine:install:migrations
这很有效!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接