docker-compose rails rake db:reset失败,"无法删除当前打开的数据库"

sho*_*ave 4 postgresql ruby-on-rails docker docker-compose

在使用docker compose时,我似乎无法重置我的数据库.我试过杀死服务器,只杀死数据库,然后重启机器.

有谁知道清除开发数据库的最佳方法?

这是我试过的:

docker-compose run web rake db:reset
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

PG :: ObjectInUse:错误:无法删除当前打开的数据库:DROP DATABASE IF EXISTS"postgres"无法删除数据库'postgres'rake中止!

我正在使用完全如docker-compose quickstart所描述的设置:https://docs.docker.com/compose/rails/

我有一个铁轨容器和一个postgres容器

Lau*_*lbe 8

您使用的是错误的数据库.

数据库postgres通常不用于用户数据,但出于管理目的.例如,如果要删除数据库,则必须连接到PostgreSQL数据库集群中的其他数据库才能发出SQL语句DROP DATABASE.通常,数据库postgres用于此目的,我毫不怀疑Docker在尝试删除数据库时的确如此.

如果您确实要删除数据库postgres,则必须连接到群集中的某个其他数据库.但是,正确的解决方案是将数据保存在不同的数据库中.然后问题应该自行消失.