django .core.exceptions.ImproperlyConfigured: Имя базы данных '****. Amazon aws .com' (85 символов) длиннее, чем ограничение PostgreSQL в 63 символа. - PullRequest
1 голос
/ 01 мая 2020

Я пытаюсь перенести мою Django модель в базу данных AWS Lightsail, но я получаю ошибку ниже. Моя база данных находится на AWS Lightsail. это PostgreSQL. Я развертываю свой проект на AWS, поэтому я настроил почти все, кроме миграции модели.

ДОСТУПНЫЕ ПАРАМЕТРЫ ПОДКЛЮЧЕНИЯ БАЗЫ ДАННЫХ AMAZON:

    Endpoint->  ************.ap-******-1.***.amazonaws.com,
    Port->    5444,
    User name->  db,
    Password->  Something

МОИ НАСТРОЙКИ. ОПЦИИ СОЕДИНЕНИЯ ФАЙЛОВ ФАЙЛОВ:

        'default': {
            'ENGINE': 'django.db.backends.postgresql',
            'NAME': '****Endpoint*****',
            'USER': 'db',
            'PASSWORD': 'Something',
            'HOST': '5444'
        }
    }

Ошибка терминала:

> `2, in build_graph
    self.applied_migrations = recorder.applied_migrations()
  File "/home/bitnami/portfolio/ManojJha-portfolio/.venv/lib/python3.7/site-packages/django/db/migrations/recorder.py", lin
e 76, in applied_migrations
    if self.has_table():
  File "/home/bitnami/portfolio/ManojJha-portfolio/.venv/lib/python3.7/site-packages/django/db/migrations/recorder.py", lin
e 56, in has_table
    return self.Migration._meta.db_table in self.connection.introspection.table_names(self.connection.cursor())
  File "/home/bitnami/portfolio/ManojJha-portfolio/.venv/lib/python3.7/site-packages/django/utils/asyncio.py", line 26, in 
inner
    return func(*args, **kwargs)
  File "/home/bitnami/portfolio/ManojJha-portfolio/.venv/lib/python3.7/site-packages/django/db/backends/base/base.py", line
 260, in cursor
    return self._cursor()
  File "/home/bitnami/portfolio/ManojJha-portfolio/.venv/lib/python3.7/site-packages/django/db/backends/base/base.py", line
 236, in _cursor
    self.ensure_connection()
  File "/home/bitnami/portfolio/ManojJha-portfolio/.venv/lib/python3.7/site-packages/django/utils/asyncio.py", line 26, in 
inner
    return func(*args, **kwargs)
  File "/home/bitnami/portfolio/ManojJha-portfolio/.venv/lib/python3.7/site-packages/django/db/backends/base/base.py", line
 220, in ensure_connection
    self.connect()
  File "/home/bitnami/portfolio/ManojJha-portfolio/.venv/lib/python3.7/site-packages/django/utils/asyncio.py", line 26, in 
inner
    return func(*args, **kwargs)
  File "/home/bitnami/portfolio/ManojJha-portfolio/.venv/lib/python3.7/site-packages/django/db/backends/base/base.py", line
 196, in connect
    conn_params = self.get_connection_params()
  File "/home/bitnami/portfolio/ManojJha-portfolio/.venv/lib/python3.7/site-packages/django/db/backends/postgresql/base.py"
, line 165, in get_connection_params
    self.ops.max_name_length(),
django.core.exceptions.ImproperlyConfigured: The database name '*****************Database End-point*****************.***.amazonaws.com' (85 characters) is longer than PostgreSQL's limit of 63 characters. Supply a shorter NAME in settings.DATABASES.```

Так есть ли способ сократить имя конечной точки или существует другое решение для устранения этой ошибки. Пожалуйста, помогите мне настроить это.

Спасибо, -Manoj Jha

1 Ответ

1 голос
/ 01 мая 2020

«ХОСТ» должен быть именем хоста, а не порта! «ИМЯ» - это имя базы данных.

Пример из Django документации :

'ENGINE': 'django.db.backends.oracle',
'NAME': 'xe',
'USER': 'a_user',
'PASSWORD': 'a_password',
'HOST': 'dbprod01ned.mycompany.com',
'PORT': '1540',
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...