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

相关推荐
p***323511 分钟前
如何使用C#与SQL Server数据库进行交互
数据库·c#·交互
h***346334 分钟前
Redis安装教程(Windows版本)
数据库·windows·redis
泡沫·2 小时前
5.MariaDB数据库管理
数据库·mariadb
i***51262 小时前
【数据库】MySQL的安装与卸载
数据库·mysql·adb
数白2 小时前
Oracle 数据迁移最佳实践(不使用第三方工具)
数据库·oracle
周杰伦fans2 小时前
C# 中的**享元工厂**模式
开发语言·数据库·c#
空空kkk3 小时前
SpringMVC——拦截器
java·数据库·spring·拦截器
J***51683 小时前
MySql中的事务、MySql事务详解、MySql隔离级别
数据库·mysql·adb
星空的资源小屋3 小时前
VNote:程序员必备Markdown笔记神器
javascript·人工智能·笔记·django
SelectDB3 小时前
Apache Doris 中的 Data Trait:性能提速 2 倍的秘密武器
数据库·后端·apache