rake db:structure:dump在PostgreSQL / Rails 3.2下失败 [英] rake db:structure:dump fails under PostgreSQL / Rails 3.2

查看:142
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆