docker-compose rails rake db:重置失败,“不能删除当前打开的数据库”
我似乎无法重置我的数据库,而使用docker撰写。 我试过杀死服务器,只杀死数据库,然后重启机器。
任何人都知道清除开发数据库的最好方法吗?
这是我的尝试:
docker-compose run web rake db:reset
我得到这个错误:
PG :: ObjectInUse:错误:不能删除当前打开的数据库:DROP DATABASE IF EXISTS“postgres”无法删除数据库'postgres'耙中止!
我完全按照docker-compose quickstart的描述使用设置: https : //docs.docker.com/compose/rails/
我有一个轨道容器和一个postgres容器
您正在使用错误的数据库。
数据库postgres
通常不用于用户数据,但用于pipe理目的。 例如,如果要删除数据库,则必须连接到PostgreSQL数据库集群中的其他数据库以发出SQL语句DROP DATABASE
。 通常情况下,数据库postgres
用于这个目的,我毫不怀疑,当Docker尝试删除一个数据库的时候,它确实是这样做的。
如果你真的想删除数据库postgres
,你必须连接到集群中的其他数据库。 但是,正确的解决scheme是将数据保存在不同的数据库中。 那么这个问题本身就应该消失了。