django 数据库迁移

文章目录

  • [django 数据库迁移](#django 数据库迁移)
    • [1. 为某个应用生成迁移文件](#1. 为某个应用生成迁移文件)
    • [2. 只迁移某个应用](#2. 只迁移某个应用)
    • [3. 指定数据库迁移](#3. 指定数据库迁移)
    • [4. 查看迁移执行情况](#4. 查看迁移执行情况)
    • [5. 回滚某个应用的迁移](#5. 回滚某个应用的迁移)

django 数据库迁移


1. 为某个应用生成迁移文件

假设应用名叫 wmsapp:

bash 复制代码
python manage.py makemigrations wmsapp

会在 wmsapp/migrations/ 下生成迁移文件(例如 0001_initial.py)。


2. 只迁移某个应用

执行迁移时加上应用名即可:

bash 复制代码
python manage.py migrate wmsapp

默认会用 default 数据库,但因为你有多个库,还需要告诉 Django 用哪个数据库。


3. 指定数据库迁移

Django 提供了 --database 参数,例如迁移到 wms(MySQL):

bash 复制代码
python manage.py migrate wmsapp --database=wms

如果你的 routers.py 已经写了 allow_migrate 规则,Django 在不加 --database 的情况下也会自动把 wmsapp 的迁移打到 wms,但是显式指定更安全。


4. 查看迁移执行情况

bash 复制代码
python manage.py showmigrations wmsapp --database=wms

会列出该应用在 wms 数据库的迁移状态。


5. 回滚某个应用的迁移

比如回退到初始状态(不保留表):

bash 复制代码
python manage.py migrate wmsapp zero --database=wms

✅ 总结:

  • makemigrations app_name → 生成迁移文件
  • migrate app_name --database=xxx → 执行到指定数据库
  • 多数据库项目里最好在 routers.py 控制迁移归属

相关推荐
2501_944521596 小时前
Immer 跨端三方库仓颉适配全流程
python·eclipse·django
lzhdim7 小时前
100条常用SQL语句
数据库·sql·mysql·mybatis
天河归来7 小时前
从原始消息到业务数据:三层数据架构的设计与实践
数据库·数据仓库·架构
数据库小学妹7 小时前
金融数据库成本怎么算?五笔钱加一张TCO表
数据库·金融行业·数据库选型·国产化替代·tco·金融数据库
KaiwuDB7 小时前
KaiwuDB 分布式集群扩缩容,从原理到完整操作踩坑总结
运维·数据库·分布式
auspicious航7 小时前
PostgreSQL的备份与恢复
数据库·postgresql
这个DBA有点耶8 小时前
从 MySQL 到时序数据库:我帮朋友做迁移的完整记录
数据库·架构·dba
泡海椒8 小时前
深度解析JQuick-SQL AST到逻辑计划转换机制|分布式SQL原理
数据库·分布式·sql
心静财富之门8 小时前
Python 数据共享四种方案完整实例(同进程 / JSON / Redis / HTTP)
数据库·python·oracle
略略略咯咯8 小时前
啊啊啊啊啊
java·服务器·数据库