2016-01-20 38 views
2

目前,我改变了我的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

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

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

事实证明,pg_dump命令不在我的可执行文件PATH中。 我只需创建符号链接添加它,它都工作得很好:

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

注:我还发现,未打印出错误的问题已经被固定在Rails 4.2.5