rake db:migrate在db:structure:dump中失败,没有错误输出

时间:2016-01-20 10:14:38

标签: ruby-on-rails postgresql ruby-on-rails-4 rake

我目前将ActiveRecord架构格式更改为:sql,并且在迁移(rake db:migrate)时,我收到以下错误,但没有真正解释错误:

$ bundle exec rake db:migrate
rake aborted!
Error dumping database

Tasks: TOP => db:structure:dump
(See full trace by running task with --trace)

我使用 Rails 4.2.4 PostgreSQL 9.4

1 个答案:

答案 0 :(得分:1)

在Rails代码中跟踪调试跟踪后,我终于发现了错误。

正在activerecord/lib/active_record/tasks/postgresql_database_tasks.rb#54中执行pg_dump命令。用$?打印命令执行的输出后,我意识到它返回了一个127退出代码,这意味着command was not found

事实证明,pg_dump命令不在我的可执行文件PATH中。 我只是通过创建一个符号链接添加它,它一切正常:

ln -s /opt/local/lib/postgresql94/bin/pg_dump /usr/local/bin

注意:我还发现,Rails 4.2.5

已修复了不打印错误的问题