迁移我的 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',
}
}
不要忘记不提交或推送此/将凭据放入环境变量中。
我正在使用亚马逊 (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',
}
}
不要忘记不提交或推送此/将凭据放入环境变量中。