在服务器上部署任何项目时,我想在Django结构的settings.py中提供不同的数据库名称。我必须在哪里更改数据库名称?
我的docker-compose.yml文件如下。
version: '3'
services:
db:
image: postgres
web:
build: .
command: bash -c "python manage.py makemigrations && python manage.py migrate && python manage.py runserver 0.0.0.0:8000"
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
我的数据库配置在settings.py
中是这样的DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'postgres',
'USER': 'postgres',
'HOST': 'db',
'PORT': 5432,
}
}
我必须在哪里更改数据库名称?
答案 0 :(得分:2)
您可以使用POSTGRES_DB环境变量。来自Postgres docker图像文档:
POSTGRES_DB此可选环境变量可用于定义一个 映像时创建的默认数据库的其他名称 首先开始。如果未指定,则值 将使用POSTGRES_USER。
docker-compose.yml文件为:
version: '3'
services:
db:
image: postgres
env:
POSTGRES_DB: <DATABASE NAME>
web:
build: .
command: bash -c "python manage.py makemigrations && python manage.py migrate && python manage.py runserver 0.0.0.0:8000"
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
-
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': '<DATABASE NAME>',
'USER': 'postgres',
'HOST': 'db',
'PORT': 5432,
}
}