📌  相关文章
📜  Django manage.py 迁移命令 | Python(1)

📅  最后修改于: 2023-12-03 14:40:46.326000             🧑  作者: Mango

Django manage.py 迁移命令

简介

在使用 Django 开发 Web 应用程序时,数据库的迁移是一个重要的过程。迁移可以帮助我们在数据库结构发生变化时保持数据的一致性。Django 提供了 manage.py 命令行工具来执行数据库迁移操作。

使用方法

在终端或命令行中,进入 Django 项目的根目录,然后执行以下命令:

python manage.py makemigrations

此命令用于生成数据库迁移文件,它会根据你对 models.py 文件的更改自动生成一系列包含数据库模式更改的 Python 文件。

python manage.py migrate

此命令会应用未应用的迁移,将数据库模式更改应用到数据库中。

生成迁移文件
创建模型

首先,我们需要在 Django 项目的其中一个应用程序中创建一个模型(例如 models.py 文件)。

from django.db import models

class MyModel(models.Model):
    name = models.CharField(max_length=100)
    timestamp = models.DateTimeField(auto_now_add=True)
生成迁移文件

运行 makemigrations 命令将会为模型创建迁移文件。如果你的项目包含多个应用程序,可以通过指定应用程序名来生成该应用程序的迁移文件。

python manage.py makemigrations myapp

执行此命令后,Django 会自动在 myapp/migrations 目录中生成一个包含模型更改的迁移文件。

检查迁移计划

运行 makemigrations 命令后,你可以查看 Django 生成的迁移计划,即将应用于数据库的更改。

python manage.py sqlmigrate myapp 0001

此命令将会显示 0001 迁移文件的 SQL 语句,而不会应用它们到数据库中。

应用迁移

运行 migrate 命令将会将迁移应用于数据库。这将创建表,添加字段等。

python manage.py migrate

如果你只想应用某个应用程序的迁移,可以指定应用程序名:

python manage.py migrate myapp
其他常用选项

manage.py 命令还支持其他一些常用选项,常用的选项包括:

  • --database: 指定要使用的数据库,默认为默认数据库。
  • --fake: 标记迁移为已应用,但不会执行实际的数据库更改。
  • --fake-initial: 开头的假迁移将被标记为已应用,但将忽略初始模型期间发生的所有更改。

要获取更多选项和帮助信息,可以在命令行中执行以下命令:

python manage.py help makemigrations
结论

Django 的 manage.py 迁移命令是一个强大的工具,用于管理数据库模式的变化。生成迁移文件和应用迁移非常简单,并且能够确保数据库与我们的模型保持同步。通过使用这些命令,开发者可以轻松地进行数据库管理操作。