ruby - 执行 rake db :migrate on Heroku 时出错

标签 ruby heroku rake database-migration

做的时候

heroku 运行 rake db:migrate

所有迁移都已执行,最后我总是收到以下消息:

/app/vendor/bundle/ruby/1.9.1/bin/rake: 没有这样的文件或目录 - pg_dump -i -s -x -O -f/app/db/structure.sql dan79p98fykovu

我无法在 Heroku 上将 pg_dump 添加到 PATH。 如何处理?

最佳答案

问题在于,迁移完成后,rails 会尝试转储新的 structure.sql,但由于 pg_dump 不存在而失败。为已部署的应用程序生成新的 structure.sql 毫无意义,因此最好的解决方案是告诉 Rails 不要这样做。

编辑您的 Rakefile 并覆盖任务。在它的末尾添加以下行应该可以做到:

Rake::Task["db:structure:dump"].clear if Rails.env.production?

关于ruby - 执行 rake db :migrate on Heroku 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12413306/

相关文章:

ruby-on-rails - 从 heroku slugs 中排除 gems 中的文件(使用 .slugignore、heroku)

git - 在 git remotes 中找不到远程产品

ruby-on-rails - 从 RAILS_ROOT 外部运行 rake 任务

ruby - def inside def 或如何做

Ruby - net/http - 跟随重定向

ruby - 使用 Apple M1 Homebrew 程序安装 ruby​​-odbc gem 时出现 "ERROR: sql.h not found"

ruby - 安装 rake

java - 解码 MIME(HTML+附件)

git - 我可以将本地仓库推送到两个远程仓库吗?

ruby-on-rails - Capistrano 和 Assets :precompile not working due to rake versioning issue