我目前将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 。
答案 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
已修复了不打印错误的问题