0

我创建了一个新的 rails 4 引擎并添加了一个模型。我正在尝试使用迁移数据库

RAILS_ENV=test rake db:migrate

它回来时没有错误。但是,当我运行时:

rspec spec

返回一个错误,说明有待处理的迁移。

Migrations are pending; run 'rake db:migrate RAILS_ENV=test' to resolve this issue. (ActiveRecord::PendingMigrationError)

如果我查看我的数据库(在 pg 和 sqlite 上尝试过)它们没有运行并且没有创建表,这是真的。运行上面列出的建议命令不会运行迁移。

'engine_name/db/migrate' 中只有一个迁移,虚拟应用程序内部没有迁移。

我正在使用 ruby​​ 2.0 和 rails 4.0.0.rc1。

4

3 回答 3

5

您需要将迁移复制到虚拟应用程序中rake app:<engine_name>:install:migrations

于 2013-05-18T13:39:50.793 回答
1

在引擎任务中添加代码

https://gist.github.com/doabit/5692865

于 2013-06-02T07:03:44.570 回答
0

我遇到过同样的问题。doabit 的修复对我有用。谢谢!Rails 核心团队对此有一个未解决的问题。 https://github.com/rails/rails/issues/10622

于 2013-06-04T05:54:31.990 回答