6

据此: https ://docs.djangoproject.com/en/dev/ref/django-admin/

他们似乎正在添加一个 sqlmigrate 命令。

有人知道这些功能吗?它与南方一样强大还是更好?

4

2 回答 2

8

使用此命令,您可以查看与每个迁移文件相关的 sql 查询:

命令结构

python manage.py sqlmigrate <app_name> <migration_file_name>

例子 :

python manage.py sqlmigrate app 0003

结果 :

BEGIN;
--
-- Add field golabi to test
--
CREATE TABLE "new__app_test" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "golabi" varchar(100) NULL, "name" varchar(100) NOT NULL, "test" varchar(100) NOT NULL);
INSERT INTO "new__app_test" ("id", "name", "test", "golabi") SELECT "id", "name", "test", NULL FROM "app_test";
DROP TABLE "app_test";
ALTER TABLE "new__app_test" RENAME TO "app_test";
COMMIT;

您可以使用此命令检查项目生成的迁移

于 2020-06-22T09:56:33.117 回答
3

在 Django 文档中有一整章介绍了新的迁移功能。你会在那里找到你需要知道的一切。

South 和新 Django 功能的创建者 Andrew Godwin 也发表了一系列博客文章来描述它的工作原理。他还在2013 年 DjangoCon US 期间发表了关于迁移的演讲。

于 2013-10-24T14:48:54.273 回答