GeoDjango-数据库无法与AWS RDS同步

时间:2018-07-13 19:29:25

标签: django postgresql amazon-web-services postgis geodjango

我正在使用AWS EB部署GeoDjango应用程序。我还设置了一个PostgreSQL数据库,并在EC2实例上安装了所有要求。

在我的settings.py文件中:

if 'RDS_DB_NAME' in os.environ:
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql_psycopg2',
            'NAME': os.environ['RDS_DB_NAME'],
            'USER': os.environ['RDS_USERNAME'],
            'PASSWORD': os.environ['RDS_PASSWORD'],
            'HOST': os.environ['RDS_HOSTNAME'],
            'PORT': os.environ['RDS_PORT'],
        }
    }

如果这样设置,我的eb配置文件将出现以下错误:

AttributeError: 'DatabaseOperations' object has no attribute 'geo_db_type'

我的配置文件如下:

container_commands:
  01_migrate:
    command: "source /opt/python/run/venv/bin/activate && python manage.py migrate --noinput"
    leader_only: true

如果我将settings.py文件设置为此:

if 'RDS_DB_NAME' in os.environ:
    DATABASES = {
        'default': {
            'ENGINE': 'django.contrib.gis.db.backends.postgis',
            'NAME': os.environ['RDS_DB_NAME'],
            'USER': os.environ['RDS_USERNAME'],
            'PASSWORD': os.environ['RDS_PASSWORD'],
            'HOST': os.environ['RDS_HOSTNAME'],
            'PORT': os.environ['RDS_PORT'],
        }
    }

不会有任何错误,但是数据库不会在RDS上迁移,因为我无法在Django应用程序上查询数据。我该怎么解决?

0 个答案:

没有答案