ruby-on-rails - 运行 rake db :migrate 时出现 pg_dump 错误

标签 ruby-on-rails postgresql docker

我有 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/

相关文章:

sql - 根据 bool 列升序或降序

postgresql - docker SHM_SIZE/dev/shm : resizing shared memory

带有 Go cli 项目的 Docker

scala - SBT生成的Docker容器无法打包子项目

开发机器上的 docker 容器通信

ruby-on-rails - 如何在不验证的情况下更新属性

ruby-on-rails - Rails delayed_job 启动启动/停止 capistrano

sql - Rails:SQLite3::CantOpenException:无法打开数据库文件

ruby-on-rails - 突然无法再部署heroku应用程序

java - 从postgresql中批量插入的行中检索序列号