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 控制迁移归属

相关推荐
Wang's Blog2 小时前
Java框架快速入门: Spring Security+OAuth2之元注解简化权限表达式
java·数据库·spring
蓝速科技4 小时前
医院导诊 AI 数字人一体机场景适配与落地指南丨蓝速科技
运维·数据库·人工智能·科技·自然语言处理·技术分享
QYR-分析4 小时前
重轨受电弓行业深度报告:市场格局、技术迭代与发展前景
大数据·数据库·人工智能
泡泡鱼(敲代码中)4 小时前
MySQL基础学习笔记:从数据模型到DDL全掌握
开发语言·数据库·笔记·学习·mysql
l1t5 小时前
DeepSeek总结的chdb-core v26.7.3发版说明
数据库·clickhouse·oracle
冰暮流星6 小时前
mysql之表子查询
数据库·mysql
Full Stack Developme6 小时前
CRM相关库表设计
数据库
步行cgn6 小时前
Spring 注入 Map 集合详解
数据库·python·spring
风跟我说过她7 小时前
SQL 一键转经典 Chen 风格 ER 图:开源 CLI + 在线工具 + Agent Skill
数据库·python·sql·开源·开源软件
这个DBA有点耶7 小时前
MySQL大表DDL锁表锁到崩溃?Online DDL的3个关键参数和实战避坑
数据库·mysql·架构