执行rake db时出错:在Heroku上进行迁移

Pau*_*aul 18 ruby rake heroku database-migration

什么时候做

heroku run rake db:migrate

执行所有迁移然后,最后我总是得到以下消息:

/app/vendor/bundle/ruby/1.9.1/bin/rake: No such file or directory - pg_dump -i -s -x -O -f /app/db/structure.sql dan79p98fykovu

我无法在Heroku上将pg_dump添加到PATH.怎么处理这个?

kch*_*kch 50

问题是rails structure.sql在迁移完成后尝试转储新的,并且因为pg_dump不存在而失败.为部署的应用程序生成新的structure.sql是没有意义的,因此最好的解决方案是告诉rails不要.

编辑Rakefile并覆盖任务.在它的末尾添加以下行应该这样做:

Rake::Task["db:structure:dump"].clear if Rails.env.production?
Run Code Online (Sandbox Code Playgroud)

  • 不会"除非Rails.env.development?"是一个更好的条件? (11认同)
  • 你是一个救星! (2认同)