Django.core.exceptions.impropertlyconfigured:数据库名称'**.amazonaws.com'(85个字符)超过PostgreSQL的63个字符限制

2024-09-30 02:15:55 发布

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

我正在尝试将Django模型迁移到AWS Lightsail数据库,但我发现了以下错误。我的数据库在AWS Lightsail上。这是PostgreSQL。我正在AWS上部署我的项目,所以我几乎设置了除模型迁移之外的所有内容

亚马逊数据库可用连接选项:

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

MY SETTINGS.PY文件数据库连接选项:

        '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.```

因此,是否有任何方法可以缩短端点的名称,或者有任何其他解决方案来处理此错误。请引导我设置这个

谢谢, -马诺杰哈


Tags: djangoinpyselfhomedbbasevenv
1条回答
网友
1楼 · 发布于 2024-09-30 02:15:55

“主机”应该是主机名,而不是端口! “NAME”是数据库的名称

来自Django documentation的示例:

'ENGINE': 'django.db.backends.oracle',
'NAME': 'xe',
'USER': 'a_user',
'PASSWORD': 'a_password',
'HOST': 'dbprod01ned.mycompany.com',
'PORT': '1540',

相关问题 更多 >

    热门问题