Ruby on rails rake db:seed在没有挂起迁移时失败
我正在运行一个(以前工作正常)种子文件,如下所示: 我用Ruby on rails rake db:seed在没有挂起迁移时失败,ruby-on-rails,ruby,postgresql,Ruby On Rails,Ruby,Postgresql,我正在运行一个(以前工作正常)种子文件,如下所示: 我用rake db:migrate:status检查是否有挂起的迁移,并且所有迁移都是“启动”的 关于其他背景,以下是让我想到这一点的原因: 在6年前的Rails代码中工作 启动功能“a”的分支 包裹特征“A”。签出功能“B”的新分支 主机-->“A”->“B” 完成功能“B”+提交 签出“A”进行重构 为“A”的迁移添加列(还没有任何东西与master合并,所以我想我可以删除并重建我的dev db,没问题) “A”+提交的包装重构 结帐分行
rake db:migrate:status
检查是否有挂起的迁移,并且所有迁移都是“启动”的
关于其他背景,以下是让我想到这一点的原因:
bin/rake数据库创建数据库:Create DB:schema:load
All good-Postgresql 9.6.2看起来您实际上没有问题<如果挂起的迁移恰好是即使是成功的种子输出的最后一条跟踪线,则代码>中止。在我的机器上完全工作的Rails env输出相同的输出,但工作正常(包含0个错误代码):
对于记录,
db:seed
通常不打印输出。要添加到这一点,可以在种子中添加一些消息,如a=User.new,然后如果a.savep,则添加“User 1 saved”
$ be rake db:seed --trace
** Invoke db:seed (first_time)
** Execute db:seed
** Invoke db:abort_if_pending_migrations (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:abort_if_pending_migrations
$ echo $?
0