django .db.utils.OperationalError: FATAL: база данных не существует (postgres / развертывание в digitalocean) - PullRequest
1 голос
/ 11 февраля 2020

Я пытаюсь развернуть проект с цифровым океаном. Я следовал инструкциям, найденным на https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-16-04 Некоторые из важных: Я запустил:

postgres=# CREATE DATABASE jobzumoDB;
CREATE DATABASE

затем:

postgres=# CREATE USER admin WITH PASSWORD '123';
CREATE ROLE
postgres=# GRANT ALL PRIVILEGES ON DATABASE jobzumoDB  TO admin;
GRANT

установите в настройках следующее. py:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'jobzumoDB',
        'USER':'admin',
        'PASSWORD':'123',
        'HOST':'localhost',
        'PORT':'',
    }

затем попытался запустить:

 ~/jobzumo/manage.py makemigrations

и получил:

 File "/home/justin/jobzumo/env/lib/python3.6/site-packages/psycopg2/__init__.py", line 126, in connect
        conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
    django.db.utils.OperationalError: FATAL:  database "jobzumoDB" does not exist

Две вещи:

ALLOWED_HOSTS = ['jobzumo.com', '142.93.184.125']

I Я еще не подключил jobzumo.com к цифровому океану, но IP-адрес был скопирован из моей капли.

Также я запустил: pip install django gunicorn psycopg2 (из цифрового океана)

, но учебник по youtube сказал, что сейчас очень важно установить psycopg2-binary, но я этого не сделал, так как видео было далеко от учебника Digital Ocean.

Спасибо за любую помощь, после того, как начал понимать django Я не думал, что развертывание было бы таким большим ударом головы.

1 Ответ

1 голос
/ 12 февраля 2020

Формализуя то, что мы разработали в комментариях в качестве ответа, когда вы даете postgres строку без кавычек в качестве идентификатора, она заставляет ее в нижнем регистре. см. Аналогичный ответ из общего списка рассылки pg sql . Таким образом, фактическое имя базы данных, созданной командой CREATE DATABASE jobzumoDB;, равно jobzumodb. для создания базы данных с именем jobzumoDB необходимо использовать кавычки, как в CREATE DATABASE "jobzumoDB";

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...