rake db:structure:dump在PostgreSQL / Rails 3.2下失败 [英] rake db:structure:dump fails under PostgreSQL / Rails 3.2
本文介绍了rake db:structure:dump在PostgreSQL / Rails 3.2下失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我收到此错误消息:
pg_dump:命令行参数过多(第一个是 demo_db)
尝试 pg_dump --help以获取更多信息。
耙子中止了!
转储数据库
时出现错误任务:TOP => db:structure:dump
(通过使用--trace运行任务查看完整的跟踪信息)
这曾经在Rails 3.1下工作。我正在使用Rails 3.2.3和PostgreSQL 9.0.5。
解决方案
感谢dbenhur,我发现了这个问题。我的文件名路径中有一个空格。
将 activerecord / lib / active_record / railties / databases.rake
的第392行更改为
pg_dump -i -s -x -O -f'#{filename}'#{search_path}#{abcs [Rails.env] ['database']}
(在#{filename}
周围加上单引号)可以解决此问题。 / p>
I get this error message:
pg_dump: too many command-line arguments (first is "demo_db") Try "pg_dump --help" for more information. rake aborted! Error dumping database Tasks: TOP => db:structure:dump (See full trace by running task with --trace)
This used to work under Rails 3.1. I'm using Rails 3.2.3 and PostgreSQL 9.0.5. Other tasks like db:migrate or db:rollback work just fine.
解决方案
Thanks to dbenhur I found the issue. I have a space in the path of my filename.
Changing line 392 of activerecord/lib/active_record/railties/databases.rake
to
pg_dump -i -s -x -O -f '#{filename}' #{search_path} #{abcs[Rails.env]['database']}
(adding the single quotes around #{filename}
) fixes the issue.
这篇关于rake db:structure:dump在PostgreSQL / Rails 3.2下失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文