【问题标题】:Django sqlmigrate command? [closed]Django sqlmigrate 命令?
【发布时间】:2013-11-03 07:17:24
【问题描述】:

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

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

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

【问题讨论】:

  • 我相信是 Andrew Godwin(South 的创建者)领导了向 Django 提供数据库迁移的工作。所以我想它会一样实用。这是 Andrew 为 project 提供资金而运行的 Kickstarter。该页面上有一个指向初始更改的拉取请求的链接。

标签: django django-models django-admin


【解决方案1】:

使用此命令,您可以查看与每个迁移文件相关的 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;

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

【讨论】:

    【解决方案2】:

    a whole chapter on the new migrations feature in Django docs。你会在那里找到你需要知道的一切。

    South 和新 Django 功能的创建者 Andrew Godwin 也通过a series of blog posts 描述了它的工作原理。他还在 2013 年 DjangoCon US 期间提供了a talk on migrations

    【讨论】:

    • 这只是一个链接。为什么不回答这个问题?
    • @RClaven 以不同的方式回答太宽泛了!我假设 Lucas Tan 熟悉迁移的一般概念,因为他提到了南方。他特别询问了未来,要回答这个问题,我基本上需要重复 Django 文档中的整个章节。我不明白这一点。
    • 触摸。我想在我昨晚的疲劳中,我只是在告诉你其他人告诉我的事情。脾气暴躁的混蛋,我是。顺便说一句-除非您对其进行编辑,否则他们不会让我取消投票。这里的规则并不总是理想的。
    • 是的,如果您刚刚回答了这个问题,那就太棒了。
    猜你喜欢
    • 2020-06-28
    • 2012-05-06
    • 1970-01-01
    • 2011-09-28
    • 2011-06-15
    • 1970-01-01
    • 2014-02-01
    • 2012-08-13
    • 1970-01-01
    相关资源
    最近更新 更多