django 做 migrate 时 表已存在的处理

在开发web的时候,如果是以前已存在的项目,项目下载下来后,为了使用测试库的数据,会直接将整个测试库(如sqlite3)拿到本机来。这种情况下,如果执行的顺序不对,很容易在执行migrate的时候出现数据库已存在的错误:

django.db.utils.OperationalError: (1050, "Table ‘xxx‘ already exists")

要处理这种情况,如果是数据表都已经存在了,在migrate时直接使用 --fake-initial 来处理

python manage.py migrate --fake-initial
 如果是因有外键存在,需要初始化多个表,且有部分数据表已创建,又有部分未创建,可以使用 --fake <appname>来处理

python manage.py migrate --fake <appname>

原文地址:https://www.cnblogs.com/zmdComeOn/p/12026624.html

时间: 2024-08-30 04:52:23

django 做 migrate 时 表已存在的处理的相关文章

django 在migrate时出现 No migrations to apply.

django 在migrate时出现  No migrations to apply. 明明我们用命令 python manage.py makemigrations 应用名  时0001_initial.py文件里创建了所有的model, 却在python manage.py migrate 时出现“No migrations to apply”,接下来我们来处理这个问题. 1.注释掉admin.py里的 from models.model_routingInspection import R

django使用django.db模块创建表

1.创建一个django项目,叫djangodb_demo 2.使用mysql数据库 2.在djangodb_demo项目下面再创建一个叫web的app 3.在web下新建一个models.py的文件 from django.db import models class UserInfo(models.Model):          username = models.CharField(maxlength=50)          password = models.CharField(ma

当用DJANGO的migrate不成功时。。。。

URL:http://my.oschina.net/u/862582/blog/355421 因为操作SQL数据库时不规范,或是多人开发时产生了同步问题,就可能导致正规的MIGRATE时不能完成. 已其修改,不如直接生成SQL之后运行.. 记住语法即可... python manage.py sqlmigrate app 0002_auto_20141212_1323(未执行的SQL编号文件) ~~~~~~~~~~~~~~ django>=1.7数据库迁移只有三个命令 migrate,用来迁移数

django数据库的表已迁移的不能重新迁移的解决办法

django.db.utils.InternalError: (1050, "Table 'tb_content' already exists") mysql数据库在迁移时数据库已存在. 解决办法:在数据库中的Django_migrations的表增加一行数据.Django_migrations是存储数据迁移记录的表.如出现上面的错误时,说明所生成的表中有重复的表,需要提示mysql数据库忽略该表的生成. 具体操作:在Django_migrations数据表中增加一行数据.在mysq

Django解决扩展用户表时,后台Admin显示密码为明文的问题

小生博客:http://xsboke.blog.51cto.com 如果有疑问,请点击此处,然后发表评论交流,作者会及时回复(也可以直接在当前文章评论). -------谢谢您的参考,如有疑问,欢迎交流 Django解决当扩展用户表时,用户继承AbstractUser后,后台Admin会显示密码为明文的问题 先看项目列表 1.今天在写一个扩展Django默认的用户表功能时,遇到了一个问题.先给大家看一下我写的,扩展用户表的models[apps.users.models],我是通过继承Abstr

django ORM中的表关系

多对一: 为了方便理解,两个表之间使用ForeignKey连接时,使用ForeignKey的字段所在的表为从表,被ForeignKey连接的表为主表. 使用场景:书和出版社之间的关系,一本书只能由一个出版社出版,一个出版社却可以出版很多书 实现方式:一对多或者说多对一,在Django中是使用ForeignKey实现的,下面是例子: class Publisher(models.Model): id = models.AutoField(primary_key=True) name = model

Django操作model时,报错:AttributeError:’ProgrammingError’ object has no attribute ‘__traceback__’

原因:在Django项目下相应的应用下面的models.py配置的model(也就是class)没有创建成相应的表. 这是怎么回事呢? 首先,将models.py里面的model创建成对应的数据库表的执行命令(DOS命令)为:manage.py syncdb. 但是我自己的电脑上执行该命令时,显示.Unknown command:syncdb.执行,manage.py help后的确没有发现这个子命令.最后网上搜索发现这个命令已经在Django1.9里面取消了.并且stackoverflow里面

# Django admin、form表单的应用记录

目录 Django admin.form表单的应用记录 一 Django admin 1. 使用介绍 form组件使用 1. form的作用 2. form组件生成HTMKL代码 3. form组件校验数据有效性 3. form组件如何给html标签设置默认值 Django admin.form表单的应用记录 一 Django admin 1. 使用介绍 1. 创建超级用户 python manage.py createsuperuser username: wph password: 1231

Django学习【第6篇】:Django之ORM单表操作(增删改查)

django之数据库表的单表查询 一.添加表记录 对于单表有两种方式 # 添加数据的两种方式 # 方式一:实例化对象就是一条表记录 Frank_obj = models.Student(name ="海东",course="python",birth="2000-9-9",fenshu=80) Frank_obj.save() # 方式二: models.Student.objects.create(name ="海燕",co