PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

rake db:structure:dump échoue sous PostgreSQL / Rails 3.2

Le pg_dump la commande est exécutée dans activerecord/lib/active_record/railties/databases.rake à la ligne 428 .

`pg_dump -i -s -x -O -f #{Shellwords.escape(filename)} #{search_path} #{Shellwords.escape(config['database'])}`

Essayez d'y définir un point d'arrêt et voyez quelle commande est en cours d'exécution.

Toutes ces options sont valides pour Pg9.0.x, donc je soupçonne qu'il y a quelque chose de drôle dans abcs[Rails.env]['schema_search_path'] ce qui confond l'analyse des options de psql. Notez le search_path la construction ne cite pas le --schema argument, donc un search_path_part avec un espace incorporé sera analysé comme un nom de schéma partiel suivi d'un mot qui n'est pas précédé d'une option, donc psql l'interprétera comme un nom de base de données, puis se plaindra lorsqu'il arrivera au nom réel de la base de données plus tard.