33 lines
1011 B
Python
33 lines
1011 B
Python
"""PostgreSQL 集成验证配置,只允许显式提供测试数据库凭据。"""
|
|
|
|
from .base import env, env_list
|
|
from .base import * # noqa: F403
|
|
|
|
|
|
def required_env(name: str) -> str:
|
|
"""读取必填配置;缺失时立即失败,防止误连其他数据库。"""
|
|
|
|
value = env(name)
|
|
if not value:
|
|
raise RuntimeError(f"PostgreSQL 集成验证缺少必填环境变量:{name}")
|
|
return value
|
|
|
|
|
|
SECRET_KEY = env("DJANGO_SECRET_KEY", "integration-test-only-secret-key")
|
|
DEBUG = False
|
|
ALLOWED_HOSTS = env_list("DJANGO_ALLOWED_HOSTS", default=("localhost",))
|
|
|
|
DATABASES = {
|
|
"default": {
|
|
"ENGINE": "django.db.backends.postgresql",
|
|
"NAME": required_env("POSTGRES_DB"),
|
|
"USER": required_env("POSTGRES_USER"),
|
|
"PASSWORD": required_env("POSTGRES_PASSWORD"),
|
|
"HOST": required_env("POSTGRES_HOST"),
|
|
"PORT": env("POSTGRES_PORT", "5432"),
|
|
"CONN_MAX_AGE": 0,
|
|
"OPTIONS": {"sslmode": env("POSTGRES_SSLMODE", "require")},
|
|
}
|
|
}
|
|
|