zoukankan      html  css  js  c++  java
  • Django orm 中 python manage.py makemigrations 和 python manage.py migrate 这两条命令用途

    生成一个临时文件

    python manage.py makemigrations  

    这时其实是在该app下建立 migrations目录,并记录下你所有的关于modes.py的改动,比如0001_initial.py

     

    接着执行migrate,这时候才真的把作用到数据库文件,产生对应的表

    根据临时文件生成数据库表

    python manage.py migrate

    执行这两条命令自动帮我们创建数据库和基本表

    还可以利用这条命令修改djang orm 表结构

    现在把models.py 表结构 字段 最大长度64 修改成60

    from django.db import models
    
    # Create your models here.
    
    # 必须继承
    # 表名叫cmdb_userinfo
    class UserInfo(models.Model):
    
        # django默认隐藏着会帮你创建 一列id列 自增的,设置为主键,参考mysql
    
        # 用户名列,数据类型 字符串类型,指定长度
        username = models.CharField(max_length=32)
        password = models.CharField(max_length=64)
    from django.db import models
    
    # Create your models here.
    
    # 必须继承
    # 表名叫cmdb_userinfo
    class UserInfo(models.Model):
    
        # django默认隐藏着会帮你创建 一列id列 自增的,设置为主键,参考mysql
    
        # 用户名列,数据类型 字符串类型,指定长度
        username = models.CharField(max_length=32)
        password = models.CharField(max_length=60)

    现在表结构变了,需要再执行  python manage.py makemigrations ,python manage.py migrate 自动更新表结构

    python manage.py makemigrations
    Migrations for 'cmdb':
      cmdbmigrations002_auto_20181122_2336.py
        - Alter field password on userinfo
    python manage.py migrate
    Operations to perform:
      Apply all migrations: admin, auth, cmdb, contenttypes, sessions
    Running migrations:
      Applying cmdb.0002_auto_20181122_2336... OK

    数据如果超过最大长度就丢了

    总结 通过 python manage.py makemigrations , python manage.py migrate 都可以修改 表结构数据

  • 相关阅读:
    document.write("x3cx54")?是加密了吗?
    SQL中以count及sum为条件的查询
    给MyEclipse 10增加SVN功能
    iOS参考工具和资源
    Apple Developer参考资料
    [转]最常见的20个jQuery面试问题及答案
    丢掉鼠标-Mac神软Alfred使用手册
    jQuery执行进度提示窗口的实现(progressbar)
    [转]5个JavaScript面试题
    自己写的POIUtil,主要解决从不同的HSSFWorkbook复制sheet以及根据单元格插入图片等
  • 原文地址:https://www.cnblogs.com/mingerlcm/p/9983443.html
Copyright © 2011-2022 走看看