Django 数据迁移
在1.6之前, Django只支持添加新的model到数据库, 而无法编辑或修改已经存在的model. 在当时, 这些Django缺失的功能可以通过South实现.
1. 新的命令
Django 1.7 为我们带来了三个新命令:
- migrate: 用于执行迁移动作
- makemigrations: 基于当前的model创建新的迁移策略文件
- sqlmigrate: 显示迁移的SQL语句
值得注意的是, migration是基于App的, 因此, 我们可以针对某些app不启用migration功能.
2. 如何使用
migrations的使用非常简单: 修改model, 比如增加field, 然后运行
python manager.py makemigrations
你的mmodel会被扫描, 然后与之前的版本作比较, 在app的migrations目录下生成本次迁移文件.
我们建议查看一下该迁移文件, 确保没有问题. 然后运行:
python manager.py migrate
migrate命令会进行比较, 并应用该迁移.
3. 从South到新的Django migrations
如果想从south升级到最新的django migration, 可以按以下步骤实现:
- 确保south中的migration全部被应用了
- 从 INSTALLED_APPS中移除south
- 删除每个app下migration目录中的所有文件, 除了__init__.py
- 运行python manager.py makemigrations, Django会初始化migration
- 运行python manager.py migrate, django会发现数据库和初始化的migration相同, 从而将他们标记为已应用
原文链接: http://www.weiguda.com/blog/72/
Django 数据迁移的更多相关文章
- 执行Django数据迁移,报错 1091
问题描述 今天在Pycharm 中的Terminal下,执行数据迁移操作时,第一步: Python manage.py makemigrations ,是没有任何问题,但就是在执行真正的数据迁移时,也 ...
- Django数据迁移时提示 ModuleNotFoundError: No module named 'users'
执行数据迁移时提示找不到对应的APP,错误如下: 这个错误主要是路径找不到引起的,只需在settings文件夹中添加app文件路径即可 sys.path.insert(0, os.path.join( ...
- Django数据迁移
http://www.ziqiangxuetang.com/django/django-data-migration.html
- Django数据迁移时(或者新建模型时)报错:Did you install mysqlclient,解决后又报错:mysqlclient 1.3.13 or newer is required;you have 0.9.3
报错信息如下: 解决方法一: 给项目根目录下mysite应用下的__init__.py文件加入如下代码: 运行又报错: 报错信息是: mysqlclient版本太低 点击上图框中的链接进入到pyth ...
- Django添加模型无法数据迁移解决方法
用Django开发一款博客,按照教程一步步写下来,发现当我创建一个模型blogpost的时候,使用数据迁移 python manage.py migrate 提示 Operations to perf ...
- Django模型修改及数据迁移
Migrations Django中对Model进行修改是件麻烦的事情,syncdb命令仅仅创建数据库里还没有的表,它并不对已存在的数据表进行同步修改,也不处理数据模型的删除. 如果你新增或修改数据模 ...
- Django项目的创建与介绍.应用的创建与介绍.启动项目.pycharm创建启动项目.生命周期.三件套.静态文件.请求及数据.配置Mysql完成数据迁移.单表ORM记录的增删改查
一.Django项目的创建与介绍 ''' 安装Django #在cmd中输入pip3 #出现这个错误Fatal error in launcher: Unable to create process ...
- django 连接MYSQL时,数据迁移时报:django.db.utils.InternalError: (1366, "Incorrect string value: '\\xE9\\x97\\xAE\\xE9\\xA2\\x98' for column 'name' at row 5")
django 连接MYSQL时,数据迁移时报:django.db.utils.InternalError: (1366, "Incorrect string value: '\\xE9\\x ...
- Django进行数据迁移时,报错:(1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(6) NOT NULL)' at line 1")
进行数据迁移时: 第一步: 命令:python manage.py makemigrations 在对应的应用里面的migrations文件夹中产生了一个0001_initial.py文件 第二步:执 ...
随机推荐
- UML介绍
UML是什么 Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所 ...
- linux 安装node.js 和npm
cd /usr/local mkdir nodejs cd nodejs 去https://nodejs.org/en/download/复制安装包地址 wget https://nodejs.org ...
- Ubuntu安装之python开发
Ubuntu安装之python开发 什么??公司要用Ubuntu(乌班图)?不会用??怎么进行python开发??? 乌班图操作系统下载地址:http://releases.ubuntu.com/ ...
- Vultr新用户充值优惠 – 最多充值100美元送100美元
Vultr商家向来是搅局的,当初海外VPS商家被Linode一家独大的时候,由于VULTR商家进入市场进行相似产品的营销,使得目前我们看到海外主机商各种低价.当然这些说法也有些武断,但是肯定是有一定的 ...
- HTML DOM 的nodeType属性
在HTML DOM中每一部分都是节点: HTML元素是元素节点 HTML中属性是属性节点 文本是文本节点 注释是注释节点 这时我们要给它区分开我们就可以使用HTML DOM的nodeType属性 no ...
- js缓存问题的解决
- CentOS7.4+OpenStack-Queens版本部署
一.准备工作.网络选择NAT 创建两台虚拟机:linux-node1.linux-node2 node1: 修改主机名 [root@localhost ~]# hostnamectl set-host ...
- 使用mybatis-generator工具自动生成mybatis代码
使用mybatis-generator工具自动生成mybatis代码 步骤如下: 1.引入maven 依赖,在项目pom.xml文件中添加 <plugin> <groupId> ...
- Excel修改证件照图片背景色
在实际生活中,我们常常需要把白底证件照更改为蓝底或红底.操作步骤只需4步! 工具/原料 Excel 方法/步骤 第1步:插入白底证件照 单击[插入]---[图片],选择图片保存的位置, ...
- java 两行代码解析json文件
public void JsonRead() throws IOException{ String str = FileUtils.readFileToString(new File("D: ...