south 命令学习
south 命令学习
概述
在django某个版本之前,django自身提供一个创建数据库的命令-syncdb,它会根据model来创建相应的表,但是这个命令不好的地方在于,如果想要对model进行更改字段,那么只能在数据库中把改model对应的表给删除掉,然后再次执行命令来创建数据库。但是,south的出现解决了这个问题,它有点像是版本控制,每次更改model,他都会创建一条记录数据,每次执行命令时就会从始至终的跑遍之前创建的所有的纪录,south的迁移记录会全部都存在migreagation
south用法
在新的项目中如果要使用到south的话,需要在django项目中的配置文件的INSTALLED_APPS位置加上south,但是如果你使用的是最新版本的话,那么south已经封装到django项目中了,也就不用加入south。
./manage.py migrate myapp # 第一步将app下的model都创建数据库表;
./manage.py schemamigration myapp --initial # 如果你是第一次执行命令,执行时south会自动初始化,并且创建相应记录信息;
./manage.py schemamigration myapp --auto # 非第一次执行命令,自动创建相应的记录信息;
./manage.py schemamigration myapp --auto --update # 修改最新的记录信息,而不是重新创建一条记录信息;
./manage.py migrate --fake # 欺骗命令migration已经都执行完毕,但其实并没有执行;
之前在工作中发现测试服的migration和本地代码的model各种不一致,明明本地model的代码中是存在某个字段的,但是migration却把该字段给删除了,所以部署的时候怎么执行migrate都会报错,所以最后的做法是不得不直接操作数据库,而且需要把可能会报错的字段等全部都直接操作完数据库才能够重新执行migrate。不过慎用这种直接操作数据库的方法,还是尽量的去避免不一致的情况(虽然我还不知道);
参考:
south 命令学习的更多相关文章
- 别出心裁的Linux命令学习法
别出心裁的Linux命令学习法 操作系统操作系统为你完成所有"硬件相关.应用无关"的工作,以给你方便.效率.安全.操作系统的功能我总结为两点:管家婆和服务生: 管家婆:通过进程.虚 ...
- Git版本控制软件结合GitHub从入门到精通常用命令学习手册(转)
简要参考:http://www.tuicool.com/articles/mEvaq2 http://gitref.org/zh/index.html GIT 学习手册简介 本站为 Git 学习参考手 ...
- penghui_031413 Bat命令学习
penghui_031413 Bat命令学习 基础部分:====================================================================== ...
- Linux命令学习
Linux命令学习 Ubuntu常用快捷键 •Ctrl+Alt+T: 打开终端 •Ctrl+Shift+T: 新建标签页 •Tab: 终端中命令补全 •Alt+数字N: 终端中切换到第N个标签页 •↑ ...
- Linux的几个概念,常用命令学习
Linux的几个概念,常用命令学习---------------------------------设备名装载点// 通过装载点访问设备-------------------------------- ...
- Java命令学习系列(7):Javap(转)
原文出处: Hollis(@Hollis_Chuang) javap是jdk自带的一个工具,可以对代码反编译,也可以查看java编译器生成的字节码. 一般情况下,很少有人使用javap对class文件 ...
- TCP/IP协议学习之实例ping命令学习笔记
TCP/IP协议学习之实例ping命令学习笔记(一) 一. 目的为了让网络协议学习更有效果,在真实网络上进行ping命令前相关知识的学习,暂时不管DNS,在内网中,进行2台主机间的ping命令的整个详 ...
- mondb 常用命令学习记录
mondb 常用命令学习记录 一.MongoDB 下载安装 MongoDB官网 提供了可用于 32 位和 64 位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB 预编译二进制 ...
- linux基础命令学习笔记(二)
linux基础命令学习笔记(二) 1.kill :终止进程 kill pid (唯一标示一个进程) kill -9 强制终止 kill -15 命令未结束不能终止 # ps aux 查看所有进程 ...
随机推荐
- SSM登陆注册
package com.coingod.controller; import java.io.IOException;import java.io.PrintWriter;import java.ut ...
- Django 学生管理系统
1. 一对一 班级 模态增加 编辑 def classes(request): data = sqlheper.get_list("select cid,title from class& ...
- nginx和nfs
1.安装nginx #yum install epel-release -y #yum install nginx -y #vim /usr/local/nginx/conf/nginx.conf - ...
- POJ-1573 Robot Motion模拟
题目链接: https://vjudge.net/problem/POJ-1573 题目大意: 有一个N*M的区域,机器人从第一行的第几列进入,该区域全部由'N' , 'S' , 'W' , 'E' ...
- if__name__ == '__main__'
# a.py import b def x(): print('x') b.y #b.py import a def y(): print('y') a.x() #执行b.py引发异常 首先,执行b. ...
- 在vue项目中, mock数据
1. 在根目录下创建 test 目录, 用来存放模拟的 json 数据, 在 test 目录下创建模拟的数据 data.json 文件 2.在build目录下的 dev-server.js的文件作如下 ...
- 简述SharePoint designer 工作流实现用户撤回申请得解决方案,how to revoke/recall application in SharePoint designer workflow
在工作中很容易碰到用户提出,需要可以撤回申请得需求.有这么几种实现方法. 方案一:designer中加一个parallel(平行)得anction, 然后在里面添加两个平行运行得审批 第一个是给真正得 ...
- canvas绘制圆心扇形可组成颜色随机的七色小花
啊~现在应该还是春天吧.心情一如既往的烦闷呐.最近做了一个canvas的扇形绘制的东西.把它整理出来变成一个适合春天的花朵绘制~沉闷的工作环境已经让我这种有趣的人也变成了无聊鬼怪呢.下次一定想找一个年 ...
- tarjan——cogs 1298 通讯问题
1298. 通讯问题 ★ 输入文件:jdltt.in 输出文件:jdltt.out 简单对比 时间限制:1 s 内存限制:128 MB [题目描述] 一个篮球队有n个篮球队员,每个队员 ...
- [Codeforces 864A]Fair Game
Description Petya and Vasya decided to play a game. They have n cards (n is an even number). A singl ...