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

发布于 2021-02-01 12:54:34

使用docker compose时,我似乎无法重置数据库。我尝试杀死服务器,仅杀死数据库,然后重新启动计算机。

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

这是我尝试过的:

docker-compose run web rake db:reset

我收到此错误:

PG :: ObjectInUse:错误:无法删除当前打开的数据库:如果存在“ postgres”,则删除数据库无法删除数据库“
postgres”耙中止!

我正在使用与docker-
compose快速入门完全相同的设置:https :
//docs.docker.com/compose/rails/

我有一个Rails容器和一个postgres容器

关注者
0
被浏览
88
1 个回答
  • 面试哥
    面试哥 2021-02-01
    为面试而生,有面试问题,就找面试哥。

    您使用了错误的数据库。

    该数据库postgres通常不用于用户数据,而是用于管理目的。例如,如果要删除数据库,则必须连接到PostgreSQL数据库集群中的其他数据库才能发出SQL语句DROP DATABASE。通常,数据库postgres是用于此目的的,毫无疑问,Docker在尝试删除数据库时确实做到了这一点。

    如果您确实要删除数据库postgres,则必须连接到集群中的其他数据库。但是,正确的解决方案是将数据保留在其他数据库中。然后问题应自行解决。



推荐阅读
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看