优化更新
This commit is contained in:
@@ -95,7 +95,7 @@ DJANGO_DEMO=False
|
||||
|
||||
# ==================== 数据库配置 ====================
|
||||
DATABASE_ENGINE=django.db.backends.mysql
|
||||
DATABASE_NAME=djangoadmin.django.elevue
|
||||
DATABASE_NAME=djangoadmin.django.antdvue
|
||||
DATABASE_HOST=127.0.0.1
|
||||
DATABASE_PORT=3306
|
||||
DATABASE_USER=root
|
||||
@@ -109,13 +109,13 @@ REDIS_PASSWORD=your_redis_password
|
||||
REDIS_DB=0
|
||||
|
||||
# ==================== 文件配置 ====================
|
||||
DJANGO_FILE_URL=http://file.django.elevue
|
||||
DJANGO_FILE_URL=http://file.django.antdvue
|
||||
```
|
||||
|
||||
:::danger 重要提示
|
||||
`DATABASE_NAME` 需要提前在 MySQL 中创建对应的数据库:
|
||||
```sql
|
||||
CREATE DATABASE `djangoadmin.django.elevue` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
CREATE DATABASE `djangoadmin.django.antdvue` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
```
|
||||
:::
|
||||
|
||||
|
||||
@@ -56,8 +56,8 @@
|
||||
+ 软件作者:@小蚂蚁云团队
|
||||
+ 软件协议:Apache-2.0
|
||||
+ 官网网址:[https://www.djangoadmin.cn](https://www.djangoadmin.cn)
|
||||
+ 文档网址:[http://docs.django.elevue.djangoadmin.cn](http://docs.django.elevue.djangoadmin.cn)
|
||||
+ 演示地址:[http://manage.django.elevue.djangoadmin.cn](http://manage.django.elevue.djangoadmin.cn)
|
||||
+ 文档网址:[http://docs.django.antdvue.djangoadmin.cn](http://docs.django.antdvue.djangoadmin.cn)
|
||||
+ 演示地址:[http://manage.django.antdvue.djangoadmin.cn](http://manage.django.antdvue.djangoadmin.cn)
|
||||
|
||||
## 软件版本
|
||||
|
||||
|
||||
@@ -142,7 +142,7 @@ vim .env
|
||||
# ============================================================
|
||||
# 基础配置
|
||||
# ============================================================
|
||||
DJANGO_NAME=Django+EleVue旗舰版
|
||||
DJANGO_NAME=Django+AntDesign旗舰版
|
||||
DJANGO_VERSION=v3.0.0
|
||||
DJANGO_DEBUG=True
|
||||
DJANGO_DEMO=False # 默认值为True(演示模式),开发时请设为False
|
||||
@@ -151,7 +151,7 @@ DJANGO_DEMO=False # 默认值为True(演示模式),开
|
||||
# 数据库配置(根据实际情况修改)
|
||||
# ============================================================
|
||||
DATABASE_ENGINE="django.db.backends.mysql"
|
||||
DATABASE_NAME='djangoadmin.django.elevue'
|
||||
DATABASE_NAME='djangoadmin.django.antdvue'
|
||||
DATABASE_HOST="127.0.0.1"
|
||||
DATABASE_PORT=3306
|
||||
DATABASE_USER="root"
|
||||
@@ -185,7 +185,7 @@ REDIS_DB=0
|
||||
|
||||
```sql
|
||||
-- 创建数据库(UTF-8 编码)
|
||||
CREATE DATABASE `djangoadmin.django.elevue`
|
||||
CREATE DATABASE `djangoadmin.django.antdvue`
|
||||
DEFAULT CHARACTER SET utf8mb4
|
||||
COLLATE utf8mb4_general_ci;
|
||||
```
|
||||
@@ -210,7 +210,7 @@ python manage.py migrate
|
||||
|
||||
```bash
|
||||
# 使用 mysql 命令行导入
|
||||
mysql -uroot -p djangoadmin.django.elevue < document/mysql/djangoadmin.django.elevue.sql
|
||||
mysql -uroot -p djangoadmin.django.antdvue < document/mysql/djangoadmin.django.antdvue.sql
|
||||
```
|
||||
|
||||
:::tip 种子数据说明
|
||||
@@ -321,7 +321,7 @@ lsof -i :8000
|
||||
```
|
||||
1. MySQL 服务是否已启动
|
||||
2. .env 中的 DATABASE_HOST、DATABASE_PORT、DATABASE_USER、DATABASE_PASSWORD 是否正确
|
||||
3. 数据库 djangoadmin.django.elevue 是否已创建
|
||||
3. 数据库 djangoadmin.django.antdvue 是否已创建
|
||||
4. 防火墙是否放行了数据库端口
|
||||
```
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
```sql
|
||||
-- 创建数据库(UTF-8 编码)
|
||||
CREATE DATABASE `djangoadmin.django.elevue`
|
||||
CREATE DATABASE `djangoadmin.django.antdvue`
|
||||
DEFAULT CHARACTER SET utf8mb4
|
||||
COLLATE utf8mb4_general_ci;
|
||||
|
||||
@@ -26,7 +26,7 @@ SHOW DATABASES;
|
||||
```
|
||||
|
||||
:::tip 温馨提示
|
||||
数据库名称需要与 `.env` 文件中的 `DATABASE_NAME` 配置一致,默认为 `djangoadmin.django.elevue`。
|
||||
数据库名称需要与 `.env` 文件中的 `DATABASE_NAME` 配置一致,默认为 `djangoadmin.django.antdvue`。
|
||||
:::
|
||||
|
||||
## 第二步:配置数据库连接
|
||||
@@ -38,7 +38,7 @@ SHOW DATABASES;
|
||||
# 数据库配置
|
||||
# ============================================================
|
||||
DATABASE_ENGINE="django.db.backends.mysql" # 数据库引擎
|
||||
DATABASE_NAME='djangoadmin.django.elevue' # 数据库名称
|
||||
DATABASE_NAME='djangoadmin.django.antdvue' # 数据库名称
|
||||
DATABASE_HOST="127.0.0.1" # 数据库地址
|
||||
DATABASE_PORT=3306 # 数据库端口
|
||||
DATABASE_USER="root" # 数据库用户名
|
||||
@@ -105,7 +105,7 @@ python manage.py migrate application.user 0001
|
||||
|
||||
```bash
|
||||
# 使用 mysql 命令行导入
|
||||
mysql -uroot -p djangoadmin.django.elevue < document/mysql/djangoadmin.django.elevue.sql
|
||||
mysql -uroot -p djangoadmin.django.antdvue < document/mysql/djangoadmin.django.antdvue.sql
|
||||
|
||||
# 或使用 Navicat 等工具:右键数据库 → 运行 SQL 文件
|
||||
```
|
||||
@@ -223,20 +223,20 @@ python generator.py --config config.json
|
||||
|
||||
```bash
|
||||
# 备份数据库
|
||||
mysqldump -uroot -p djangoadmin.django.elevue > backup.sql
|
||||
mysqldump -uroot -p djangoadmin.django.antdvue > backup.sql
|
||||
|
||||
# 恢复数据库
|
||||
mysql -uroot -p djangoadmin.django.elevue < backup.sql
|
||||
mysql -uroot -p djangoadmin.django.antdvue < backup.sql
|
||||
```
|
||||
|
||||
+ PostgreSQL 备份
|
||||
|
||||
```bash
|
||||
# 备份数据库
|
||||
pg_dump -U postgres djangoadmin.django.elevue > backup.sql
|
||||
pg_dump -U postgres djangoadmin.django.antdvue > backup.sql
|
||||
|
||||
# 恢复数据库
|
||||
psql -U postgres djangoadmin.django.elevue < backup.sql
|
||||
psql -U postgres djangoadmin.django.antdvue < backup.sql
|
||||
```
|
||||
|
||||
+ SQLite 备份
|
||||
@@ -254,10 +254,10 @@ cp db_backup.sqlite3 db.sqlite3
|
||||
数据库初始化的核心步骤:
|
||||
|
||||
```
|
||||
1. 创建数据库:CREATE DATABASE `djangoadmin.django.elevue`
|
||||
1. 创建数据库:CREATE DATABASE `djangoadmin.django.antdvue`
|
||||
2. 配置 .env:设置 DATABASE_ENGINE、DATABASE_NAME 等连接信息
|
||||
3. 执行迁移:python manage.py makemigrations && python manage.py migrate
|
||||
4. 导入初始数据:mysql ... < document/mysql/djangoadmin.django.elevue.sql
|
||||
4. 导入初始数据:mysql ... < document/mysql/djangoadmin.django.antdvue.sql
|
||||
```
|
||||
|
||||
后续的模型变更通过 Django 迁移系统管理(`makemigrations` + `migrate`),确保数据库结构与代码保持同步。如需使用代码生成器创建新模块,生成器会自动处理数据库迁移。
|
||||
|
||||
@@ -56,7 +56,7 @@ cp .env.example .env
|
||||
# 说明:连接 Docker 容器中运行的 MySQL 数据库
|
||||
# ============================================================
|
||||
DATABASE_ENGINE="django.db.backends.mysql"
|
||||
DATABASE_NAME='djangoadmin.django.elevue'
|
||||
DATABASE_NAME='djangoadmin.django.antdvue'
|
||||
DATABASE_HOST=127.0.0.1 # 数据库主机地址(本地容器)
|
||||
DATABASE_PORT=3306 # 数据库端口(MySQL 默认 3306)
|
||||
DATABASE_USER=root # 数据库用户名
|
||||
@@ -80,7 +80,7 @@ REDIS_DB=0 # Redis 数据库索引
|
||||
```yaml
|
||||
# +======================================================================
|
||||
# | 模块: Docker Compose 配置
|
||||
# | 说明: Django+EleVue 应用服务容器编排
|
||||
# | 说明: Django+AntDesign 应用服务容器编排
|
||||
# +======================================================================
|
||||
version: '3.7'
|
||||
# ============================================================
|
||||
@@ -90,11 +90,11 @@ services:
|
||||
# ------------------------------------------------------------
|
||||
# 后端服务
|
||||
# ------------------------------------------------------------
|
||||
django_elevue:
|
||||
django_antdvue:
|
||||
# 构建镜像名称
|
||||
image: django_elevue
|
||||
image: django_antdvue
|
||||
# 容器运行时名称
|
||||
container_name: django_elevue
|
||||
container_name: django_antdvue
|
||||
# 镜像构建配置
|
||||
build:
|
||||
context: ./ # 构建上下文路径(项目根目录)
|
||||
@@ -168,7 +168,7 @@ docker compose up -d
|
||||
[+] Building 45.2s (12/12) FINISHED
|
||||
[+] Running 2/2
|
||||
✔ Network djangoadmin_default Created
|
||||
✔ Container django_elevue Started
|
||||
✔ Container django_antdvue Started
|
||||
```
|
||||
|
||||
:::tip 访问服务
|
||||
@@ -202,7 +202,7 @@ docker compose logs -f
|
||||
docker compose logs --tail 100
|
||||
|
||||
# 查看指定服务日志
|
||||
docker compose logs -f django_elevue
|
||||
docker compose logs -f django_antdvue
|
||||
```
|
||||
|
||||
+ 停止与重启
|
||||
@@ -232,10 +232,10 @@ docker compose up --build
|
||||
|
||||
```bash
|
||||
# 进入运行中的容器终端
|
||||
docker compose exec django_elevue bash
|
||||
docker compose exec django_antdvue bash
|
||||
|
||||
# 在容器内执行 Django 命令
|
||||
docker compose exec django_elevue python manage.py shell
|
||||
docker compose exec django_antdvue python manage.py shell
|
||||
```
|
||||
|
||||
## 环境变量注入
|
||||
@@ -244,10 +244,10 @@ Docker 模式下,环境变量通过 `env_file` 从 `.env` 文件注入到容
|
||||
|
||||
```bash
|
||||
# 使用 --env-file 指定环境变量文件
|
||||
docker run --env-file .env django_elevue
|
||||
docker run --env-file .env django_antdvue
|
||||
|
||||
# 通过 -e 参数覆盖单个变量
|
||||
docker run -e DJANGO_DEBUG=False django_elevue
|
||||
docker run -e DJANGO_DEBUG=False django_antdvue
|
||||
```
|
||||
|
||||
:::tip 温馨提示
|
||||
@@ -302,7 +302,7 @@ ports:
|
||||
|
||||
```bash
|
||||
# 查看容器日志排查原因
|
||||
docker compose logs django_elevue
|
||||
docker compose logs django_antdvue
|
||||
```
|
||||
|
||||
常见原因:数据库连接失败、Redis 连接失败、数据库未创建。
|
||||
|
||||
@@ -12,12 +12,12 @@
|
||||
|
||||
| 变量名 | 默认值 | 说明 |
|
||||
|:----|:----|:----|
|
||||
| `DJANGO_NAME` | `Django+EleVue旗舰版` | 应用名称,用于界面显示和系统标识 |
|
||||
| `DJANGO_NAME` | `Django+AntDesign旗舰版` | 应用名称,用于界面显示和系统标识 |
|
||||
| `DJANGO_VERSION` | `v3.0.0` | 应用版本号 |
|
||||
| `DJANGO_DEBUG` | `True` | 是否开启调试模式。`True` 时输出详细错误堆栈,生产环境务必设为 `False` |
|
||||
| `DJANGO_DEMO` | `True` | 是否开启演示模式。`True` 时所有写操作(add/update/delete/status)返回"演示环境,暂无操作权限"。**开发调试时请设为 `False`** |
|
||||
| `DJANGO_UPLOAD_DIR` | `项目根目录/public/uploads` | 文件上传存储路径 |
|
||||
| `DJANGO_FILE_URL` | `http://file.django.elevue` | 文件访问域名,用于拼接上传文件的访问 URL |
|
||||
| `DJANGO_FILE_URL` | `http://file.django.antdvue` | 文件访问域名,用于拼接上传文件的访问 URL |
|
||||
|
||||
:::tip 安全提示
|
||||
1. 生产环境务必设置 `DJANGO_DEBUG=False`,调试模式会输出详细的错误堆栈信息,可能泄漏内部实现细节。
|
||||
@@ -29,7 +29,7 @@
|
||||
| 变量名 | 默认值 | 说明 |
|
||||
|:----|:----|:----|
|
||||
| `DATABASE_ENGINE` | `django.db.backends.mysql` | 数据库引擎。支持:`mysql`、`postgresql`、`sqlite3`、`oracle`、`mssql` |
|
||||
| `DATABASE_NAME` | `djangoadmin.django.elevue` | 数据库名称。SQLite 时作为数据库文件路径 |
|
||||
| `DATABASE_NAME` | `djangoadmin.django.antdvue` | 数据库名称。SQLite 时作为数据库文件路径 |
|
||||
| `DATABASE_HOST` | `127.0.0.1` | 数据库地址 |
|
||||
| `DATABASE_PORT` | `3306` | 数据库端口 |
|
||||
| `DATABASE_USER` | `root` | 数据库账号 |
|
||||
@@ -142,7 +142,7 @@ Redis 用于存储验证码、JWT 令牌黑名单等功能,是项目正常运
|
||||
# ============================================================
|
||||
# 应用配置
|
||||
# ============================================================
|
||||
DJANGO_NAME=Django+EleVue旗舰版
|
||||
DJANGO_NAME=Django+AntDesign旗舰版
|
||||
DJANGO_VERSION=v3.0.0
|
||||
DJANGO_DEBUG=True
|
||||
DJANGO_DEMO=False # 代码默认True(演示模式),开发环境设为False以启用写操作
|
||||
@@ -153,7 +153,7 @@ DJANGO_FILE_URL='http://file.django.antdvue'
|
||||
# 数据库配置
|
||||
# ============================================================
|
||||
DATABASE_ENGINE="django.db.backends.mysql"
|
||||
DATABASE_NAME='djangoadmin.django.elevue'
|
||||
DATABASE_NAME='djangoadmin.django.antdvue'
|
||||
DATABASE_HOST="127.0.0.1"
|
||||
DATABASE_PORT=3306
|
||||
DATABASE_USER="root"
|
||||
@@ -200,7 +200,7 @@ extends/extends_dotenv.py
|
||||
│ 3. 调用 load_dotenv(env_path) 注入环境变量
|
||||
▼
|
||||
config/env.py
|
||||
│ os.getenv('DJANGO_NAME', 'Django+EleVue旗舰版')
|
||||
│ os.getenv('DJANGO_NAME', 'Django+AntDesign旗舰版')
|
||||
│ os.getenv('DATABASE_HOST', '127.0.0.1')
|
||||
│ ...(所有配置项)
|
||||
▼
|
||||
|
||||
@@ -127,7 +127,7 @@ mysql>
|
||||
|
||||
```sql
|
||||
-- 创建数据库(UTF-8 编码)
|
||||
CREATE DATABASE `djangoadmin.django.elevue` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
CREATE DATABASE `djangoadmin.django.antdvue` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- 查看数据库
|
||||
SHOW DATABASES;
|
||||
|
||||
@@ -83,7 +83,7 @@ mysql -h127.0.0.1 -P3306 -uroot -p
|
||||
|
||||
# 如果是权限问题,授权用户
|
||||
mysql -uroot -p
|
||||
GRANT ALL PRIVILEGES ON `djangoadmin.django.elevue`.* TO 'root'@'%' IDENTIFIED BY 'your_password';
|
||||
GRANT ALL PRIVILEGES ON `djangoadmin.django.antdvue`.* TO 'root'@'%' IDENTIFIED BY 'your_password';
|
||||
FLUSH PRIVILEGES;
|
||||
```
|
||||
|
||||
|
||||
@@ -150,14 +150,14 @@ config/
|
||||
|
||||
```python
|
||||
# 应用配置
|
||||
DJANGO_NAME = os.getenv('DJANGO_NAME', 'Django+EleVue旗舰版')
|
||||
DJANGO_NAME = os.getenv('DJANGO_NAME', 'Django+AntDesign旗舰版')
|
||||
DJANGO_VERSION = os.getenv('DJANGO_VERSION', 'v3.0.0')
|
||||
DJANGO_DEBUG = (os.getenv('DJANGO_DEBUG', 'True') == 'True')
|
||||
DJANGO_DEMO = (os.getenv('DJANGO_DEMO', 'True') == 'True')
|
||||
|
||||
# 数据库配置
|
||||
DATABASE_ENGINE = os.getenv('DATABASE_ENGINE', "django.db.backends.mysql")
|
||||
DATABASE_NAME = os.getenv('DATABASE_NAME', 'djangoadmin.django.elevue')
|
||||
DATABASE_NAME = os.getenv('DATABASE_NAME', 'djangoadmin.django.antdvue')
|
||||
DATABASE_HOST = os.getenv('DATABASE_HOST', "127.0.0.1")
|
||||
DATABASE_PORT = os.getenv('DATABASE_PORT', 3306)
|
||||
DATABASE_PREFIX = os.getenv('DATABASE_PREFIX', "django_")
|
||||
|
||||
@@ -49,7 +49,7 @@ CACHES = {
|
||||
**配置说明**(`config/env.py`):
|
||||
```python
|
||||
DATABASE_ENGINE = os.getenv('DATABASE_ENGINE', "django.db.backends.mysql")
|
||||
DATABASE_NAME = os.getenv('DATABASE_NAME', 'djangoadmin.django.elevue')
|
||||
DATABASE_NAME = os.getenv('DATABASE_NAME', 'djangoadmin.django.antdvue')
|
||||
DATABASE_HOST = os.getenv('DATABASE_HOST', "127.0.0.1")
|
||||
DATABASE_PORT = os.getenv('DATABASE_PORT', 3306)
|
||||
DATABASE_USER = os.getenv('DATABASE_USER', 'root')
|
||||
|
||||
@@ -191,7 +191,7 @@ import { defineStore } from 'pinia'; // 自动
|
||||
window.__{SHORT_NAME}__PRODUCTION__CONF__ = {
|
||||
"VITE_GLOB_API_URL": "",
|
||||
"VITE_GLOB_API_URL_PREFIX": "/api",
|
||||
"VITE_GLOB_FILE_URL": "http://file.django.elevue",
|
||||
"VITE_GLOB_FILE_URL": "http://file.django.antdvue",
|
||||
"VITE_GLOB_APP_TITLE": "Django+AntDesign版",
|
||||
// ...
|
||||
};
|
||||
|
||||
@@ -157,7 +157,7 @@ location /uploads/ {
|
||||
```
|
||||
|
||||
:::tip 温馨提示
|
||||
后端的文件访问地址需要与前端 `DJANGO_FILE_URL` 配置一致。开发环境为 `http://file.django.elevue`,生产环境需要配置为实际的文件服务域名。
|
||||
后端的文件访问地址需要与前端 `DJANGO_FILE_URL` 配置一致。开发环境为 `http://file.django.antdvue`,生产环境需要配置为实际的文件服务域名。
|
||||
:::
|
||||
|
||||
## 总结
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
DATABASE_ENGINE = os.getenv('DATABASE_ENGINE', "django.db.backends.mysql")
|
||||
|
||||
# 数据库名称
|
||||
DATABASE_NAME = os.getenv('DATABASE_NAME', 'djangoadmin.django.elevue')
|
||||
DATABASE_NAME = os.getenv('DATABASE_NAME', 'djangoadmin.django.antdvue')
|
||||
|
||||
# 数据库地址
|
||||
DATABASE_HOST = os.getenv('DATABASE_HOST', "127.0.0.1")
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
| 变量 | 默认值 | 说明 |
|
||||
|:----|:----|:----|
|
||||
| `DJANGO_UPLOAD_DIR` | `{项目根目录}/public/uploads` | 上传文件存储目录 |
|
||||
| `DJANGO_FILE_URL` | `http://file.django.elevue` | 文件访问域名 |
|
||||
| `DJANGO_FILE_URL` | `http://file.django.antdvue` | 文件访问域名 |
|
||||
| `DJANGO_TEMP_PATH` | `{DJANGO_UPLOAD_DIR}/temp` | 临时文件目录 |
|
||||
|
||||
## 上传接口
|
||||
@@ -66,7 +66,7 @@ file: <文件>
|
||||
"fileSize": 306995,
|
||||
"fileName": "2025030614302512345.jpg",
|
||||
"filePath": "/temp/20250306/2025030614302512345.jpg",
|
||||
"fileUrl": "http://file.django.elevue/temp/20250306/2025030614302512345.jpg"
|
||||
"fileUrl": "http://file.django.antdvue/temp/20250306/2025030614302512345.jpg"
|
||||
},
|
||||
"ok": true
|
||||
}
|
||||
@@ -118,7 +118,7 @@ public/uploads/
|
||||
上传成功后返回的 `fileUrl` 是拼接了 `DJANGO_FILE_URL` 前缀的完整 URL:
|
||||
|
||||
```
|
||||
http://file.django.elevue/temp/20250306/2025030614302512345.jpg
|
||||
http://file.django.antdvue/temp/20250306/2025030614302512345.jpg
|
||||
```
|
||||
|
||||
Service 层的 `get_file_url()` 会自动为文件字段补此前缀。
|
||||
|
||||
@@ -26,7 +26,7 @@ DJANGO_UPLOAD_DIR = os.getenv('DJANGO_UPLOAD_DIR', os.path.join(DJANGO_ROOT_PATH
|
||||
DJANGO_TEMP_PATH = DJANGO_UPLOAD_DIR + '/temp'
|
||||
|
||||
# 文件访问域名
|
||||
DJANGO_FILE_URL = os.getenv('DJANGO_FILE_URL', 'http://file.django.elevue')
|
||||
DJANGO_FILE_URL = os.getenv('DJANGO_FILE_URL', 'http://file.django.antdvue')
|
||||
```
|
||||
|
||||
:::tip 温馨提示
|
||||
@@ -70,7 +70,7 @@ Authorization: Bearer <token>
|
||||
"fileSize": 306995,
|
||||
"fileName": "2025030614302512345.jpg",
|
||||
"filePath": "/temp/20250306/2025030614302512345.jpg",
|
||||
"fileUrl": "http://file.django.elevue/temp/20250306/2025030614302512345.jpg"
|
||||
"fileUrl": "http://file.django.antdvue/temp/20250306/2025030614302512345.jpg"
|
||||
},
|
||||
"ok": true
|
||||
}
|
||||
|
||||
@@ -18,11 +18,11 @@
|
||||
# 使用 mysqldump 备份单个数据库
|
||||
mysqldump -h 127.0.0.1 -u root -p --single-transaction \
|
||||
--routines --triggers --events \
|
||||
djangoadmin.django.elevue > backup_$(date +%Y%m%d_%H%M%S).sql
|
||||
djangoadmin.django.antdvue > backup_$(date +%Y%m%d_%H%M%S).sql
|
||||
|
||||
# 压缩备份
|
||||
mysqldump -h 127.0.0.1 -u root -p --single-transaction \
|
||||
djangoadmin.django.elevue | gzip > backup_$(date +%Y%m%d_%H%M%S).sql.gz
|
||||
djangoadmin.django.antdvue | gzip > backup_$(date +%Y%m%d_%H%M%S).sql.gz
|
||||
```
|
||||
|
||||
:::tip --single-transaction 作用
|
||||
@@ -100,7 +100,7 @@ mkdir -p ${BACKUP_DIR}/{mysql,redis,uploads}
|
||||
|
||||
# MySQL 备份
|
||||
mysqldump -h 127.0.0.1 -u djangoadmin -p'<密码>' \
|
||||
--single-transaction djangoadmin.django.elevue | gzip > \
|
||||
--single-transaction djangoadmin.django.antdvue | gzip > \
|
||||
${BACKUP_DIR}/mysql/backup_${DATE}.sql.gz
|
||||
|
||||
# Redis 备份
|
||||
@@ -134,10 +134,10 @@ crontab -e
|
||||
|
||||
```bash
|
||||
# 从 SQL 文件恢复
|
||||
mysql -h 127.0.0.1 -u root -p djangoadmin.django.elevue < backup_20260905.sql
|
||||
mysql -h 127.0.0.1 -u root -p djangoadmin.django.antdvue < backup_20260905.sql
|
||||
|
||||
# 从压缩文件恢复
|
||||
gunzip < backup_20260905.sql.gz | mysql -h 127.0.0.1 -u root -p djangoadmin.django.elevue
|
||||
gunzip < backup_20260905.sql.gz | mysql -h 127.0.0.1 -u root -p djangoadmin.django.antdvue
|
||||
```
|
||||
|
||||
### Redis 恢复
|
||||
|
||||
@@ -23,7 +23,7 @@ python manage.py migrate
|
||||
```
|
||||
|
||||
:::tip 初始化流程
|
||||
1. 确保数据库已创建:`CREATE DATABASE djangoadmin.django.elevue DEFAULT CHARACTER SET utf8mb4;`
|
||||
1. 确保数据库已创建:`CREATE DATABASE djangoadmin.django.antdvue DEFAULT CHARACTER SET utf8mb4;`
|
||||
2. 确保 `.env` 中的数据库配置正确
|
||||
3. 执行 `python manage.py migrate` 自动创建所有表
|
||||
:::
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
**数据库**:
|
||||
|
||||
- [ ] 安装 MySQL 8.0+
|
||||
- [ ] 创建数据库:`CREATE DATABASE djangoadmin.django.elevue DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;`
|
||||
- [ ] 创建数据库:`CREATE DATABASE djangoadmin.django.antdvue DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;`
|
||||
- [ ] 创建数据库用户并授权
|
||||
- [ ] 修改 `.env` 中的数据库配置(DATABASE_ENGINE、DATABASE_NAME、DATABASE_HOST、DATABASE_PORT、DATABASE_USER、DATABASE_PASSWORD)
|
||||
- [ ] 初始化数据库:`python manage.py migrate`
|
||||
@@ -144,7 +144,7 @@ server {
|
||||
|
||||
### 数据库迁移
|
||||
|
||||
- [ ] 备份数据库:`mysqldump -uroot -p djangoadmin.django.elevue > backup.sql`
|
||||
- [ ] 备份数据库:`mysqldump -uroot -p djangoadmin.django.antdvue > backup.sql`
|
||||
- [ ] 执行迁移:`python manage.py makemigrations && python manage.py migrate`
|
||||
- [ ] 验证迁移结果
|
||||
|
||||
@@ -204,7 +204,7 @@ cp -r /opt/backup/dist /opt/project/ui/dist
|
||||
|
||||
```bash
|
||||
# 从备份恢复
|
||||
mysql -uroot -p djangoadmin.django.elevue < backup.sql
|
||||
mysql -uroot -p djangoadmin.django.antdvue < backup.sql
|
||||
```
|
||||
|
||||
## 总结
|
||||
|
||||
@@ -151,7 +151,7 @@ services:
|
||||
image: mysql:8.0
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: root
|
||||
MYSQL_DATABASE: djangoadmin.django.elevue
|
||||
MYSQL_DATABASE: djangoadmin.django.antdvue
|
||||
volumes:
|
||||
- mysql_data:/var/lib/mysql
|
||||
ports:
|
||||
|
||||
@@ -49,7 +49,7 @@ REDIS_PASSWORD=123456
|
||||
REDIS_DB=0
|
||||
|
||||
# 文件配置
|
||||
DJANGO_FILE_URL=http://file.django.elevue
|
||||
DJANGO_FILE_URL=http://file.django.antdvue
|
||||
```
|
||||
|
||||
### Prod 环境
|
||||
@@ -91,7 +91,7 @@ DJANGO_FILE_URL=https://files.example.com
|
||||
```python
|
||||
# config/env.py 中的配置读取方式
|
||||
DATABASE_ENGINE = os.getenv('DATABASE_ENGINE', "django.db.backends.mysql")
|
||||
DATABASE_NAME = os.getenv('DATABASE_NAME', 'djangoadmin.django.elevue')
|
||||
DATABASE_NAME = os.getenv('DATABASE_NAME', 'djangoadmin.django.antdvue')
|
||||
DATABASE_HOST = os.getenv('DATABASE_HOST', "127.0.0.1")
|
||||
```
|
||||
|
||||
@@ -105,12 +105,12 @@ Docker 部署时,`docker-compose.yml` 通过 `env_file: .env` 注入环境变
|
||||
|
||||
| 变量名 | 说明 | 默认值 |
|
||||
|:----|:----|:----|
|
||||
| `DJANGO_NAME` | 应用名称(显示在浏览器标题) | Django+EleVue旗舰版 |
|
||||
| `DJANGO_NAME` | 应用名称(显示在浏览器标题) | Django+AntDesign旗舰版 |
|
||||
| `DJANGO_VERSION` | 应用版本号 | v3.0.0 |
|
||||
| `DJANGO_DEBUG` | 调试模式开关 | True |
|
||||
| `DJANGO_DEMO` | 演示模式(限制写操作) | True |
|
||||
| `DATABASE_ENGINE` | 数据库引擎 | django.db.backends.mysql |
|
||||
| `DATABASE_NAME` | 数据库名称 | djangoadmin.django.elevue |
|
||||
| `DATABASE_NAME` | 数据库名称 | djangoadmin.django.antdvue |
|
||||
| `DATABASE_HOST` | 数据库主机 | 127.0.0.1 |
|
||||
| `DATABASE_PORT` | 数据库端口 | 3306 |
|
||||
| `DATABASE_USER` | 数据库用户名 | root |
|
||||
@@ -120,7 +120,7 @@ Docker 部署时,`docker-compose.yml` 通过 `env_file: .env` 注入环境变
|
||||
| `REDIS_PORT` | Redis 端口 | 6379 |
|
||||
| `REDIS_PASSWORD` | Redis 密码 | 123456 |
|
||||
| `REDIS_DB` | Redis 数据库索引 | 0 |
|
||||
| `DJANGO_FILE_URL` | 文件访问域名 | http://file.django.elevue |
|
||||
| `DJANGO_FILE_URL` | 文件访问域名 | http://file.django.antdvue |
|
||||
| `DJANGO_UPLOAD_DIR` | 文件上传目录 | /public/uploads |
|
||||
| `IP_LOCATION_SOURCE` | IP 地理位置来源 | api |
|
||||
| `SITE_DOMAIN` | 站点域名 | http://127.0.0.1:8000 |
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
```bash
|
||||
# 1. 数据库全量备份
|
||||
mysqldump -h 127.0.0.1 -u root -p --single-transaction \
|
||||
djangoadmin.django.elevue | gzip > backup_$(date +%Y%m%d_%H%M%S).sql.gz
|
||||
djangoadmin.django.antdvue | gzip > backup_$(date +%Y%m%d_%H%M%S).sql.gz
|
||||
|
||||
# 2. 上传文件备份
|
||||
tar -czf uploads_$(date +%Y%m%d).tar.gz /data/apps/DjangoAdmin_Django_AntdVue/public/uploads/
|
||||
@@ -174,7 +174,7 @@ cd /data/apps/
|
||||
tar -xzf app_20260905.tar.gz
|
||||
|
||||
# 3. 恢复数据库
|
||||
gunzip < backup_20260905.sql.gz | mysql -u root -p djangoadmin.django.elevue
|
||||
gunzip < backup_20260905.sql.gz | mysql -u root -p djangoadmin.django.antdvue
|
||||
|
||||
# 4. 恢复上传文件
|
||||
tar -xzf uploads_20260905.tar.gz -C /
|
||||
|
||||
Reference in New Issue
Block a user