zoukankan      html  css  js  c++  java
  • migrate 和makemigrations 命令

    在你改动了app下 models.py的内容之后执行下面的命令:

    Python manger.py makemigrations

    相当于 在该app下建立 migrations目录,并记录下你所有的关于modes.py的改动,比如0001_initial.py, 但是这个改动还没有作用到数据库文件

    你可以手动打开这个文件,看看里面是什么

    class Migration(migrations.Migration):
    
        initial = True
    
        dependencies = [
        ]
    
        operations = [
            migrations.CreateModel(
                name='Person',
                fields=[
                    ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                    ('name', models.CharField(max_length=30)),
                    ('age', models.IntegerField()),
                ],
            ),
        ]

    在此之后执行命令

    python manager.py migrate

    将该改动作用到数据库文件,比如产生table之类

    当makemigrations之后产生了0001_initial.py 文件,你可以查看下该migrations会对应于什么样子的SQL命令

    python manger.py sqlmigrate appname 0001

    大概是这个样子的:

    hanli@ubuntu:~/PycharmProjects/learn_models$ python manage.py sqlmigrate people 0001
    BEGIN;
    --
    -- Create model Person
    --
    CREATE TABLE "people_person" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "name" varchar(30) NOT NULL, "age" integer NOT NULL);
    COMMIT;
    

    转载自:
    http://blog.csdn.net/yang1z1/article/details/52235424

  • 相关阅读:
    灌注和宝石性道法价比分析
    bzoj1912
    bzoj3504
    poj3580
    bzoj1251
    bzoj3223
    bzoj1212
    bzoj3790
    记一次惨痛的比赛
    bzoj2734
  • 原文地址:https://www.cnblogs.com/fanren224/p/8457219.html
Copyright © 2011-2022 走看看