我有 postgres 容器和 ruby 容器。运行 docker-compose run web rake db:migrate 时出现这样的错误
rake aborted!
failed to execute:
pg_dump -s -x -O -f /usr/src/app/db/structure.sql --schema=public --schema=partitioning docker_rails_dev
Please check the output above for any errors and make sure that `pg_dump` is installed in your PATH and has proper permissions.
/usr/local/bundle/gems/activerecord-4.2.7.1/lib/active_record/tasks/postgresql_database_tasks.rb:90:in `run_cmd'
/usr/local/bundle/gems/activerecord-4.2.7.1/lib/active_record/tasks/postgresql_database_tasks.rb:55:in `structure_dump'
/usr/local/bundle/gems/activerecord-4.2.7.1/lib/active_record/tasks/database_tasks.rb:183:in `structure_dump'
/usr/local/bundle/gems/activerecord-4.2.7.1/lib/active_record/railties/databases.rake:279:in `block (3 levels) in <top (required)>'
/usr/local/bundle/gems/activerecord-4.2.7.1/lib/active_record/railties/databases.rake:53:in `block (2 levels) in <top (required)>'
/usr/local/bundle/gems/activerecord-4.2.7.1/lib/active_record/railties/databases.rake:45:in `block (2 levels) in <top (required)>'
Tasks: TOP => db:structure:dump
(See full trace by running task with --trace)
pg_dump 命令在 postgres 容器中可用,但在 ruby 容器中不可用,但我已在我的 docker-compose.yml 中将它们链接在一起。文件。
最佳答案
如果您实际上并不想要转储(为什么要在 CI 中?)将其放入您的 test.rb
:
config.active_record.dump_schema_after_migration = false
现在,不再需要 ruby 容器中的 PG 工具(除了客户端驱动程序)。
关于ruby-on-rails - 运行 rake db :migrate 时出现 pg_dump 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41561883/