2016-01-20 33 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