0

我从新安装的 linux 中的 github 获取了 2 个我的应用程序(它们一直在其他 linux 环境中工作)。我也安装了,mysql,nodejs。我在 rails 创建了一个测试应用程序,并对其进行了测试以使其正常工作。但是我克隆的应用程序在运行 rake db:migrate 时出错。

app1 中的错误

rake db:migrate == CreateItems: 迁移 ========================================= =========== -- create_table(:items) -> 0.0025s == CreateItems: 已迁移 (0.0027s) ================== =========================

== AddDataToTableItems:迁移 ============================================= rake中止!发生错误,此迁移和所有后续迁移均已取消:

未定义的方法“制造商”#

app2中的错误

rake db:migrate rake 中止!nil:NilClass 的未定义方法 `[]='

(通过使用 --trace 运行任务查看完整跟踪)

尽管两个错误都不同,但它们应该是相关的(因为应用程序在其他环境中运行)。由于这个问题,我被困了半天。关于相同的任何输入?

PS:应用程序的迁移文件如下: http: //dl.dropbox.com/u/18367173/migrate_app2.tar.gz http://dl.dropbox.com/u/18367173/migrate_app1.tar.gz

4

1 回答 1

0

我相信您正在尝试在创建该表列之前在制造商字段中添加一些内容。

确保首先运行所有真正的迁移(那些修改架构的迁移),然后才运行您在数据库中发布数据的迁移。

顺便说一句,您不应该使用迁移在您的应用程序中发布示例数据,您应该为此使用 rake 任务或数据库种子。

于 2012-10-07T18:01:00.667 回答