夹层结构部署,PSQL问题“错误:角色”项目“已存在”

2024-04-19 10:32:50 发布

您现在位置:Python中文网/ 问答频道 /正文

在digitalocean上部署Mezzanine有很大的困难,我正在一步一步地解决所有的小问题。你知道吗

运行“fab create”会成功(我猜是吧?)设置virtualenv,但在设置PSQL数据库时,会出现以下错误(完整输出):

[1xx.xx.xxx.xxx] Executing task 'create'

←[1;32m------
create
------←[0m


←[1;34m$ ←[0m←[1;33mlocale -a←[0m←[1;31m ->←[0m

[1xx.xx.xxx.xxx] Login password for 'adm':

←[1;34m$ ←[0m←[1;33mmkdir -p /home/adm/mezzanine/project←[0m←[1;31m ->←[0m


←[1;34m$ ←[0m←[1;33mmkdir -p /home/adm/.virtualenvs←[0m←[1;31m ->←[0m

Virtualenv already exists in host server: project
Would you like to replace it? [Y/n] y

←[1;34m$ ←[0m←[1;33mrm -rf project←[0m←[1;31m ->←[0m


←[1;34m$ ←[0m←[1;33mvirtualenv project←[0m←[1;31m ->←[0m

[1xx.xx.xxx.xxx] out: Using base prefix '/usr'
[1xx.xx.xxx.xxx] out: New python executable in /home/adm/.virtualenvs/project/bin/python3
[1xx.xx.xxx.xxx] out: Also creating executable in /home/adm/.virtualenvs/project/bin/python
[1xx.xx.xxx.xxx] out: Installing setuptools, pip, wheel...
[1xx.xx.xxx.xxx] out: done.
[1xx.xx.xxx.xxx] out:
[localhost] local: git push -f ssh://adm@1xx.xx.xxx.xxx/home/adm/git/project.git master
adm@1xx.xx.xxx.xxx's password:
Everything up-to-date

←[1;34m$ ←[0m←[1;33mGIT_WORK_TREE=/home/adm/mezzanine/project git checkout -f master←[0m←[1;31m ->←[0m

[1xx.xx.xxx.xxx] out: Already on 'master'
[1xx.xx.xxx.xxx] out:

←[1;34m$ ←[0m←[1;33mGIT_WORK_TREE=/home/adm/mezzanine/project git reset --hard←[0m←[1;31m ->←[0m

[1xx.xx.xxx.xxx] out: HEAD is now at a1fe1de Droplet reset
[1xx.xx.xxx.xxx] out:
[1xx.xx.xxx.xxx] out: sudo password:
[1xx.xx.xxx.xxx] out: ERROR:  role "project" already exists
[1xx.xx.xxx.xxx] out:

Fatal error: sudo() received nonzero return code 1 while executing!

Requested: psql -c "CREATE USER project WITH ENCRYPTED PASSWORD 'password';"
Executed: sudo -S -p 'sudo password:'  -u "postgres"  /bin/bash -l -c "psql -c \"CREATE USER project WITH ENCRYPTED PASSWORD 'password;\""

Aborting.
Disconnecting from 1xx.xx.xxx.xxx... done.

我的本地\u设置数据库dict如下所示:

DATABASES = {
    "default": {
        # Ends with "postgresql_psycopg2", "mysql", "sqlite3" or "oracle".
        "ENGINE": "django.db.backends.postgresql_psycopg2",
        # DB name or path to database file if using sqlite3.
        "NAME": "projectdb",
        # Not used with sqlite3.
        "USER": "postgres",
        # Not used with sqlite3.
        "PASSWORD": os.environ['DATABASE_PW'],
        # Set to empty string for localhost. Not used with sqlite3.
        "HOST": "localhost",
        # Set to empty string for default. Not used with sqlite3.
        "PORT": "8286",
    }
}

你知道这个问题的来龙去脉吗?你知道吗


Tags: togitprojecthomecreatewithsudonot