迁移我的 AWS RDS 数据库 (django) 的最佳方法是什么?

What is the best way to migrate my AWS RDS database (django)?

我正在使用亚马逊 (AWS) 的关系数据库服务 (RDS) 设置 Django 部署。

我想知道更新数据库的最佳方法是什么?

我先做了什么

首先我在 project/.ebextensions/db-migrate.config:

中使用容器命令
container_commands:
  10_migrate:
    command: |
      source $PYTHONPATH/activate
      pipenv run python ./manage.py migrate
option_settings:
  aws:elasticbeanstalk:application:environment:
    DJANGO_SETTINGS_MODULE: <app>.settings

我发现这每次都会重置数据库。另外,我无法使用“createsuperuser”命令,因为我无法交互添加用户名和密码(日志给出了类似的错误)。

我现在在做什么:

我将我的 IP 添加到来自数据库的传入规则中。然后我将 settings.py 中的数据库配置更改为 RDS 端点。

现在我可以使用迁移命令并且可以创建超级用户了。 但这是通常的方式吗?你能告诉我更多关于安全的信息吗?

解决方案:

我像在本地开发中一样使用迁移。 我只是将配置添加到 settings.py:

中的数据库设置
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'xxxxxxx',
        'USER': 'xxxxxxx',
        'PASSWORD': 'xxxxxxx',
        'HOST': 'environment.xxx.region.rds.amazonaws.com',
        'PORT': '5432',
    }
}

不要忘记不提交或推送此/将凭据放入环境变量中。