django.db.migrations.exceptions.BadMigrationError: Migration tests in app bl
这个错误基本上都是 替换文件后才会出现的问题
因为你替换后他的日志文件没有完全替换的话,那么日志对应不到就会出现这样的问题,
一个模糊的处理办法:重新进行数据迁移:首先删除migrations中除去__init__.py的是所有文件,
这些都是基本数据迁移后的数据库文件,之后重新数据迁移,
python manage.py makemigrations
python manage.py migrate
之后就没问题了,
ps: python manage.py makemigrations 这种命令形式 是因为虚拟环境的创建不够完善导致的编译器是环境外的编译器,
所以在交互式环境下命令时就必须是标准的python命令,如果虚拟环境是完整的那么,命令格式如下:
./manage.py makemigratins
与之相同的有
./manage.py runserver
。
。
。
但是在未正式发布的情况下还是用环境外的编译器,环境内的只需要跟上版本配置就行了,在正式发布前一刻在用环境内的进行测试,
这样很多第三方库的容错性问题就会提前在环境外解决,不会因为第三方库的容错问题而导致的上线延迟。
还有的处理方法是(阅读代码能力不强建议不这样做,建议很闲的人可以这样做,很费时间和心态):
阅读库文件 虽然库文件内容很多,但是逻辑非清晰,开始很难读但一旦熟悉了库文件内容,对于后期的维护会非常有帮助,
主要需要注意容易出问题的地方model层的库文件(报错率相对最高),
因为库文件的问题报错基本很相似所以非常考验阅读代码的能力,
在Django中可以锻炼我们很多东西,阅读源文件能力,逻辑能力 ,Debug能力,以及项目维护能力。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Django 默认的是SQLite3数据库这个数据库最好只用于小量的上线前单元测试的测试 :
因为,SQLite3在于python的沟通很方便也很快捷,所以在测试上很方便,但是最好不要进行高并发等的测试也不要进行大数据的测试,
如果要进行大量的测试最好用Mysql等关系型数据库,因为关系映射的原因所以关系型数据库也用的最多。
下面进行库文件的介绍。
Django库文件的创建方法,
1.在django终端进行插入:
数据库表创建完成之后,在pycharm的terminal中输入python manage.py shell 然后就会进入InteractiveConsole,之后可以在下面输入命令,在数据库表中添加数据。
2.在views.py中创建:
views.py完成url与模板的交互,在views中可以接受前端的数据,然后在views中通过命令进行添加到数据库表中,基本命令都一样。
3.在可视化工具中进行直接添加:
django默认采用的是sqlite3数据库,可以使用SQLiteStudio打开数据库表进行直接添加。
4.在工程中再创建一个脚本,运行脚本进行添加(用以批量添加),类似方法和在views中添加是一样的。
get_or_create()方法可以避免在批量添加时,出现数据的重复添加创建。
Django引入现有数据库:
Django引入外部数据库还是比较方便的,步骤如下:
1.创建一个项目,修改seting文件,在setting里面设置你要连接的数据库类型和连接名称,地址之类,和创建新项目的时候一致。
2.运行下面代码可以自动生成models模型文件
python manage.py inspectdb
这样就可以在命令行看到数据库的模型文件了
3.把模型文件导入到app中
4.创建一个app
django-admin.py startapp app
python manage.py inspectdb > app/models.py
python manage.py migrate
django.db.migrations.exceptions.BadMigrationError: Migration tests in app bl的更多相关文章
- 使用django执行数据更新命令时报错:django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency users.00 01_initial on database 'default'.
如果在重新封装更新用户表之前,已经更新了数据表,在数据库中已经有了django相关的依赖表,就会报错: django.db.migrations.exceptions.InconsistentMigr ...
- django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applie
Traceback (most recent call last): File "manage.py", line 15, in <module> execute_fr ...
- 替换django的user模型出现的异常django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency users.0001_initial on database 'default'
django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applie ...
- 报错django.db.migrations.exceptions.InconsistentMigrationHistory
Pycharm强大的功能总是让我很是着迷,比如它的makemigrations 和 migrate. 然而某一次,当我再次敲下这熟悉的命令时,它报错了.... Traceback (most rece ...
- django.db.migrations.exceptions.MigrationSchemaMissing和raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)
1.使用Python3.7 + Django2.2 + MySQL 5.5 在执行(python manage.py migrate)命令时出现错误django.db.migrations.excep ...
- Django db relationship
# coding=utf-8 from django.db import models """ Django数据库关系: 一对一关系:OneToOneField 多对多关 ...
- django.db.utils.ProgrammingError: 1146 的解决办法
在models中设置完数据库相关的东西后执行命令 python manage.py makemigrations 此处无错误 再次执行 python manage.py migrate 发生报错 错误 ...
- DB Migrations更新数据库命令
在项目迭代的过程中,数据库结构常常需要跟随业务需求的变化做出调整,尤其在迭代的初期阶段,加一个字段减一个字段的需求更是家常便饭.在小型团队中,往往是负责开发功能模块的程序员在完成本地开发环境数据库的变 ...
- 迁移文件是报错 django.db.utils.InternalError: (1054, "Unknown column 'name' in 'django_content_type'")
相信大家在做django迁移时有可能会遇到这样的错误- django.db.utils.InternalError: (1054, “Unknown column ‘name’ in ‘django_ ...
随机推荐
- Protobuffer教程
目录 什么是protobuffer? protobuffer是如何工作的? 为什么不用xml? 1.什么是protobuffer? protobuffer是一种灵活,高效,自动化的机制,用于序列化结构 ...
- k8spod控制器概述
自主式pod对象由调度器绑定至目标工作节点后即由相应节点上的kubelet负责监控其容器的存活性,容器主进程崩溃后,kubelet能够自动重启相应的容器.不过,kubelet对非主进程崩溃类的容器错误 ...
- Centos 7误删Yum,如何补救???
1. 查看centos 的版本号 cat /etc/redhat-release 2. 进入阿里云源站地址:http://mirrors.aliyun.com/ 找到对应的版本号 3.下载相应的yu ...
- uniapp引用iconfont图标
不得不说uniapp引入iconfont确实比较坑.下面方法可行: 引入方法: 1.在confont官网找好图标,然后点击复制代码, 2.点击红圈的复制代码后在网页打开,出现如下: 3.然后再unia ...
- JavaScript 内置函数有什么?
javaScript内置函数 1.Date:日期函数 属性:constructor 所修立对象的函数参考prototype 能够为对象加进的属性和方法 方法:getDay() 返回一周中的第几天(0- ...
- luogu 5311 [Ynoi2011]D1T3 动态点分治+树状数组
我这份代码已经奇怪到一定程度了~ 洛谷上一直 $TLE$,但是本地造了几个数据都过了. 简单说一下题解: 先建出来点分树. 对于每一个询问,在点分树中尽可能向上跳祖先,看是否能够处理这个询问. 找到最 ...
- qt 程序发布
Qt 程序发布步骤: 注意5.5 以后不再支持 WinXP 1) dll 抽取工具 windeployqt.exe 2) Windows脚本 实例: D:\Qt\Qt5.5.0\5.5\mingw49 ...
- 我不熟悉的map
讲map之前,其实很多都在set那篇讲过了.我不熟悉的set. 很多的API都类似,不会再累述. map和set都是用红黑树实现的,但是set只能存单个值,它的key和value都是同一个,map不一 ...
- AtCoder AGC032D Rotation Sort (DP)
题目链接 https://atcoder.jp/contests/agc032/tasks/agc032_d 题解 又是一道神仙题啊啊啊啊...atcoder题真的做不来啊QAQ 第一步又是神仙转化: ...
- git多人参与的项目 -> 分支代码如何合并到主干
个人理解:合并分支时候就是当前分支,与别的分支先合并一遍,然后解决分支中存在的所有冲突,之后将本地分支代码提交到git远程仓库,之后切换主干分支 ,将主干分支与分支内容合并,解决冲突, 在提交主干分支 ...