签入版本
This commit is contained in:
@@ -85,7 +85,7 @@ cp .env.example .env
|
|||||||
# 数据库配置
|
# 数据库配置
|
||||||
DB_HOST=127.0.0.1
|
DB_HOST=127.0.0.1
|
||||||
DB_PORT=3306
|
DB_PORT=3306
|
||||||
DB_DATABASE=djangoadmin.tornado.elevue2
|
DB_DATABASE=djangoadmin.tornado.elevue
|
||||||
DB_USERNAME=root
|
DB_USERNAME=root
|
||||||
DB_PASSWORD=your_password
|
DB_PASSWORD=your_password
|
||||||
|
|
||||||
@@ -112,10 +112,10 @@ python -c "import secrets; print(secrets.token_urlsafe(48))"
|
|||||||
```bash
|
```bash
|
||||||
# 1. 登录 MySQL,创建数据库
|
# 1. 登录 MySQL,创建数据库
|
||||||
mysql -uroot -p
|
mysql -uroot -p
|
||||||
CREATE DATABASE `djangoadmin.tornado.elevue2` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
CREATE DATABASE `djangoadmin.tornado.elevue` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||||
|
|
||||||
# 2. 导入数据库脚本(脚本位于 document/mysql/ 目录下)
|
# 2. 导入数据库脚本(脚本位于 document/mysql/ 目录下)
|
||||||
mysql -uroot -p djangoadmin.tornado.elevue2 < document/mysql/djangoadmin.tornado.elevue2.sql
|
mysql -uroot -p djangoadmin.tornado.elevue < document/mysql/djangoadmin.tornado.elevue.sql
|
||||||
```
|
```
|
||||||
|
|
||||||
:::tip 温馨提示
|
:::tip 温馨提示
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ mysql -h127.0.0.1 -P3306 -uroot -p
|
|||||||
|
|
||||||
# 如果是权限问题,授权用户
|
# 如果是权限问题,授权用户
|
||||||
mysql -uroot -p
|
mysql -uroot -p
|
||||||
GRANT ALL PRIVILEGES ON `djangoadmin.tornado.elevue2`.* TO 'root'@'%' IDENTIFIED BY 'your_password';
|
GRANT ALL PRIVILEGES ON `djangoadmin.tornado.elevue`.* TO 'root'@'%' IDENTIFIED BY 'your_password';
|
||||||
FLUSH PRIVILEGES;
|
FLUSH PRIVILEGES;
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -295,7 +295,7 @@ def _normalize_driver(driver: str) -> str:
|
|||||||
DB_DRIVER = _normalize_driver(os.getenv('DB_DRIVER', 'mysql'))
|
DB_DRIVER = _normalize_driver(os.getenv('DB_DRIVER', 'mysql'))
|
||||||
DB_HOST = os.getenv('DB_HOST', '127.0.0.1')
|
DB_HOST = os.getenv('DB_HOST', '127.0.0.1')
|
||||||
DB_PORT = int(os.getenv('DB_PORT', '3306'))
|
DB_PORT = int(os.getenv('DB_PORT', '3306'))
|
||||||
DB_DATABASE = os.getenv('DB_DATABASE', 'djangoadmin.tornado.elevue2')
|
DB_DATABASE = os.getenv('DB_DATABASE', 'djangoadmin.tornado.elevue')
|
||||||
DB_USERNAME = os.getenv('DB_USERNAME', 'root')
|
DB_USERNAME = os.getenv('DB_USERNAME', 'root')
|
||||||
DB_PASSWORD = os.getenv('DB_PASSWORD', '')
|
DB_PASSWORD = os.getenv('DB_PASSWORD', '')
|
||||||
|
|
||||||
|
|||||||
@@ -187,12 +187,12 @@ pip install -r requirements.txt
|
|||||||
# 干跑:核对源库表和行数
|
# 干跑:核对源库表和行数
|
||||||
python scripts/migrate_db.py --dry-run \
|
python scripts/migrate_db.py --dry-run \
|
||||||
--src-driver=mysql --src-host=127.0.0.1 --src-port=3306 \
|
--src-driver=mysql --src-host=127.0.0.1 --src-port=3306 \
|
||||||
--src-user=root --src-pass=root --src-db=djangoadmin.tornado.elevue2
|
--src-user=root --src-pass=root --src-db=djangoadmin.tornado.elevue
|
||||||
|
|
||||||
# 或使用 Make 命令
|
# 或使用 Make 命令
|
||||||
make db-migrate-dry-run ARGS="\
|
make db-migrate-dry-run ARGS="\
|
||||||
--src-driver=mysql --src-host=127.0.0.1 --src-port=3306 \
|
--src-driver=mysql --src-host=127.0.0.1 --src-port=3306 \
|
||||||
--src-user=root --src-pass=root --src-db=djangoadmin.tornado.elevue2"
|
--src-user=root --src-pass=root --src-db=djangoadmin.tornado.elevue"
|
||||||
```
|
```
|
||||||
|
|
||||||
### MySQL → PostgreSQL
|
### MySQL → PostgreSQL
|
||||||
@@ -200,9 +200,9 @@ make db-migrate-dry-run ARGS="\
|
|||||||
```bash
|
```bash
|
||||||
python scripts/migrate_db.py \
|
python scripts/migrate_db.py \
|
||||||
--src-driver=mysql --src-host=127.0.0.1 --src-port=3306 \
|
--src-driver=mysql --src-host=127.0.0.1 --src-port=3306 \
|
||||||
--src-db=djangoadmin.tornado.elevue2 --src-user=root --src-pass=root \
|
--src-db=djangoadmin.tornado.elevue --src-user=root --src-pass=root \
|
||||||
--dst-driver=postgresql --dst-host=localhost --dst-port=5432 \
|
--dst-driver=postgresql --dst-host=localhost --dst-port=5432 \
|
||||||
--dst-db=djangoadmin.tornado.elevue2 --dst-user=postgres --dst-pass=你的密码 \
|
--dst-db=djangoadmin.tornado.elevue --dst-user=postgres --dst-pass=你的密码 \
|
||||||
--drop-target-first
|
--drop-target-first
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -210,12 +210,12 @@ python scripts/migrate_db.py \
|
|||||||
|
|
||||||
```
|
```
|
||||||
==============================================================
|
==============================================================
|
||||||
[迁移开始] 源: mysql:djangoadmin.tornado.elevue2 → 目标: postgresql:djangoadmin.tornado.elevue2
|
[迁移开始] 源: mysql:djangoadmin.tornado.elevue → 目标: postgresql:djangoadmin.tornado.elevue
|
||||||
[迁移开始] 待迁移 23 张表
|
[迁移开始] 待迁移 23 张表
|
||||||
==============================================================
|
==============================================================
|
||||||
[·] [1/5] 建目标库...
|
[·] [1/5] 建目标库...
|
||||||
· 正在连接 postgres 维护库...
|
· 正在连接 postgres 维护库...
|
||||||
· 正在创建目标库 "djangoadmin.tornado.elevue2"(UTF8)...
|
· 正在创建目标库 "djangoadmin.tornado.elevue"(UTF8)...
|
||||||
[✓] [1/5] 建目标库 完成(耗时 947ms)
|
[✓] [1/5] 建目标库 完成(耗时 947ms)
|
||||||
[·] [2/5] 建表结构(23 张表 create_all)...
|
[·] [2/5] 建表结构(23 张表 create_all)...
|
||||||
[✓] [2/5] 建表结构 完成(耗时 1.1s),23 张表
|
[✓] [2/5] 建表结构 完成(耗时 1.1s),23 张表
|
||||||
@@ -248,9 +248,9 @@ python scripts/migrate_db.py \
|
|||||||
```bash
|
```bash
|
||||||
python scripts/migrate_db.py \
|
python scripts/migrate_db.py \
|
||||||
--src-driver=mysql --src-host=127.0.0.1 --src-port=3306 \
|
--src-driver=mysql --src-host=127.0.0.1 --src-port=3306 \
|
||||||
--src-db=djangoadmin.tornado.elevue2 --src-user=root --src-pass=root \
|
--src-db=djangoadmin.tornado.elevue --src-user=root --src-pass=root \
|
||||||
--dst-driver=mssql --dst-host=localhost --dst-port=1433 \
|
--dst-driver=mssql --dst-host=localhost --dst-port=1433 \
|
||||||
--dst-db=djangoadmin.tornado.elevue2 --dst-user=sa --dst-pass=你的密码 \
|
--dst-db=djangoadmin.tornado.elevue --dst-user=sa --dst-pass=你的密码 \
|
||||||
--drop-target-first
|
--drop-target-first
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -262,13 +262,13 @@ python scripts/migrate_db.py \
|
|||||||
|
|
||||||
```
|
```
|
||||||
==============================================================
|
==============================================================
|
||||||
[迁移开始] 源: mysql → 目标: mssql:djangoadmin.tornado.elevue2
|
[迁移开始] 源: mysql → 目标: mssql:djangoadmin.tornado.elevue
|
||||||
[迁移开始] 待迁移 23 张表
|
[迁移开始] 待迁移 23 张表
|
||||||
==============================================================
|
==============================================================
|
||||||
[·] [1/5] 建目标库...
|
[·] [1/5] 建目标库...
|
||||||
· 正在连接 SQL Server(master 维护库)...
|
· 正在连接 SQL Server(master 维护库)...
|
||||||
· 正在删除旧目标库 [djangoadmin.tornado.elevue2](SINGLE_USER + DROP)...
|
· 正在删除旧目标库 [djangoadmin.tornado.elevue](SINGLE_USER + DROP)...
|
||||||
· 正在创建目标库 [djangoadmin.tornado.elevue2]...
|
· 正在创建目标库 [djangoadmin.tornado.elevue]...
|
||||||
[✓] [1/5] 建目标库 完成(耗时 304ms)
|
[✓] [1/5] 建目标库 完成(耗时 304ms)
|
||||||
[·] [2/5] 建表结构(23 张表 create_all)...
|
[·] [2/5] 建表结构(23 张表 create_all)...
|
||||||
[✓] [2/5] 建表结构 完成(耗时 743ms),23 张表
|
[✓] [2/5] 建表结构 完成(耗时 743ms),23 张表
|
||||||
@@ -291,8 +291,8 @@ python scripts/migrate_db.py \
|
|||||||
```bash
|
```bash
|
||||||
python scripts/migrate_db.py \
|
python scripts/migrate_db.py \
|
||||||
--src-driver=mysql --src-host=127.0.0.1 --src-port=3306 \
|
--src-driver=mysql --src-host=127.0.0.1 --src-port=3306 \
|
||||||
--src-db=djangoadmin.tornado.elevue2 --src-user=root --src-pass=root \
|
--src-db=djangoadmin.tornado.elevue --src-user=root --src-pass=root \
|
||||||
--dst-driver=sqlite --dst-db=D:/data/djangoadmin.tornado.elevue2.db \
|
--dst-driver=sqlite --dst-db=D:/data/djangoadmin.tornado.elevue.db \
|
||||||
--drop-target-first
|
--drop-target-first
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -306,7 +306,7 @@ python scripts/migrate_db.py \
|
|||||||
|
|
||||||
```
|
```
|
||||||
==============================================================
|
==============================================================
|
||||||
[迁移开始] 源: mysql → 目标: sqlite:D:/data/djangoadmin.tornado.elevue2.db
|
[迁移开始] 源: mysql → 目标: sqlite:D:/data/djangoadmin.tornado.elevue.db
|
||||||
[迁移开始] 待迁移 23 张表
|
[迁移开始] 待迁移 23 张表
|
||||||
==============================================================
|
==============================================================
|
||||||
[·] [1/5] 建目标库...
|
[·] [1/5] 建目标库...
|
||||||
@@ -334,7 +334,7 @@ python scripts/migrate_db.py \
|
|||||||
```bash
|
```bash
|
||||||
python scripts/migrate_db.py \
|
python scripts/migrate_db.py \
|
||||||
--src-driver=mysql --src-host=127.0.0.1 --src-port=3306 \
|
--src-driver=mysql --src-host=127.0.0.1 --src-port=3306 \
|
||||||
--src-db=djangoadmin.tornado.elevue2 --src-user=root --src-pass=root \
|
--src-db=djangoadmin.tornado.elevue --src-user=root --src-pass=root \
|
||||||
--dst-driver=oracle --dst-host=localhost --dst-port=1521 \
|
--dst-driver=oracle --dst-host=localhost --dst-port=1521 \
|
||||||
--dst-db=ORCLPDB1 --dst-user=tornado --dst-pass=你的密码 \
|
--dst-db=ORCLPDB1 --dst-user=tornado --dst-pass=你的密码 \
|
||||||
--drop-target-first
|
--drop-target-first
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
**数据库**:
|
**数据库**:
|
||||||
|
|
||||||
- [ ] 安装 MySQL 8.0+
|
- [ ] 安装 MySQL 8.0+
|
||||||
- [ ] 创建数据库:`CREATE DATABASE djangoadmin.tornado.elevue2 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;`
|
- [ ] 创建数据库:`CREATE DATABASE djangoadmin.tornado.elevue DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;`
|
||||||
- [ ] 创建数据库用户并授权
|
- [ ] 创建数据库用户并授权
|
||||||
- [ ] 修改 `.env` 中的数据库配置
|
- [ ] 修改 `.env` 中的数据库配置
|
||||||
- [ ] 初始化数据库:`python scripts/init_db.py`
|
- [ ] 初始化数据库:`python scripts/init_db.py`
|
||||||
@@ -138,7 +138,7 @@ server {
|
|||||||
|
|
||||||
### 数据库迁移
|
### 数据库迁移
|
||||||
|
|
||||||
- [ ] 备份数据库:`mysqldump -uroot -p djangoadmin.tornado.elevue2 > backup.sql`
|
- [ ] 备份数据库:`mysqldump -uroot -p djangoadmin.tornado.elevue > backup.sql`
|
||||||
- [ ] 执行迁移:`alembic upgrade head`
|
- [ ] 执行迁移:`alembic upgrade head`
|
||||||
- [ ] 验证迁移结果
|
- [ ] 验证迁移结果
|
||||||
|
|
||||||
@@ -198,7 +198,7 @@ cp -r /opt/backup/dist /opt/project/ui/dist
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 从备份恢复
|
# 从备份恢复
|
||||||
mysql -uroot -p djangoadmin.tornado.elevue2 < backup.sql
|
mysql -uroot -p djangoadmin.tornado.elevue < backup.sql
|
||||||
```
|
```
|
||||||
|
|
||||||
## 总结
|
## 总结
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ query = query.filter(self._soft_col() == 0)
|
|||||||
```
|
```
|
||||||
document/ # 补充文档
|
document/ # 补充文档
|
||||||
├── 数据库迁移_runbook.md # 数据库迁移操作手册
|
├── 数据库迁移_runbook.md # 数据库迁移操作手册
|
||||||
└── djangoadmin.tornado.elevue2.sql # 数据库结构 SQL
|
└── djangoadmin.tornado.elevue.sql # 数据库结构 SQL
|
||||||
|
|
||||||
wiki/ # VitePress 文档站
|
wiki/ # VitePress 文档站
|
||||||
├── zh/ # 中文文档
|
├── zh/ # 中文文档
|
||||||
|
|||||||
Reference in New Issue
Block a user