后端使用 PostgreSQL。仓库根目录仅保留数据库结构文件:
dachuang_db_schema.sql:仅数据库结构,用于从空数据开始初始化。
完整数据导出属于本地运行数据,默认写入 .local/db/local_data.sql,不纳入版本控制。
适用场景:全新环境初始化、迁移验证、生产或准生产环境部署前建表。
Windows PowerShell:
$env:PGPASSWORD="<local-db-password>"
psql -h localhost -p 5432 -U <local-db-user> -d dachuang_db -f .\dachuang_db_schema.sql
Remove-Item Env:PGPASSWORDLinux/macOS/WSL:
export PGPASSWORD='<local-db-password>'
psql -h localhost -p 5432 -U <local-db-user> -d dachuang_db -f ./dachuang_db_schema.sql
unset PGPASSWORD结构导入完成后,后端迁移命令负责补齐当前代码版本的迁移状态:
cd backend
python manage.py migrate适用场景:本地演示数据恢复、课程演示环境复制、调试现场复现。
完整数据文件路径:
.local/db/local_data.sql
Windows PowerShell:
$env:PGPASSWORD="<local-db-password>"
psql -h localhost -p 5432 -U <local-db-user> -d dachuang_db -f .\.local\db\local_data.sql
Remove-Item Env:PGPASSWORDLinux/macOS/WSL:
export PGPASSWORD='<local-db-password>'
psql -h localhost -p 5432 -U <local-db-user> -d dachuang_db -f ./.local/db/local_data.sql
unset PGPASSWORD完整数据导入会覆盖目标库中的同名对象和数据。该文件可能包含登录凭据、联系信息、项目材料路径等敏感内容,因此不提交到 Git。
后端数据库连接配置位于 backend/config/settings.py,并支持环境变量覆盖:
DB_NAME:默认dachuang_dbDB_USER:本地数据库用户DB_PASSWORD:本地数据库密码DB_HOST:默认localhostDB_PORT:默认5432
环境变量文件模板为 backend/.env.example。实际配置文件 backend/.env 已被 .gitignore 忽略。
PostgreSQL 客户端工具需要安装并加入 PATH。可执行文件通常位于 PostgreSQL 安装目录的 bin 子目录。
排查项:
- PostgreSQL 服务状态。
DB_HOST与DB_PORT。DB_USER与DB_PASSWORD。- 目标数据库
DB_NAME是否已创建。
Windows PowerShell:
# 导出结构到 dachuang_db_schema.sql
.\scripts\export_db_schema.ps1
# 导出完整数据到 .local/db/local_data.sql
.\scripts\export_db_full.ps1Bash:
./scripts/export_db_schema.sh
./scripts/export_db_full.sh可用环境变量:
DB_NAMEDB_USERDB_PASSWORDDB_HOSTDB_PORTOUTPUT_FILE
OUTPUT_FILE 可覆盖输出路径。完整数据导出路径应保持在 .local/、临时目录或其他未纳入版本控制的位置。
DB_PASSWORD 必须由本地环境显式提供。