Sqlite Openshift python manage.py测试不支持';跑不动
我遵循django文档中由7部分组成的教程。 Django项目是使用Openshift quickstart创建的 为什么我需要打字Sqlite Openshift python manage.py测试不支持';跑不动,sqlite,python-3.x,unit-testing,openshift,django-1.8,Sqlite,Python 3.x,Unit Testing,Openshift,Django 1.8,我遵循django文档中由7部分组成的教程。 Django项目是使用Openshift quickstart创建的 为什么我需要打字 python manage.py makemigrations python manage.py migrate 在每个单元测试用例执行之前 python manage.py test 每当我向应用程序添加测试用例并将所有更改推送到openshift时,我都需要使用SSH连接重新键入迁移到openshift 在我可以运行测试之前 否则,
python manage.py makemigrations
python manage.py migrate
在每个单元测试用例执行之前
python manage.py test
每当我向应用程序添加测试用例并将所有更改推送到openshift时,我都需要使用SSH连接重新键入迁移到openshift
在我可以运行测试之前
否则,我会看到“没有这样的表myapp_问题”错误消息
使用python manage.py dbshell,我看到数据库中有了适当的表,因为我已经完成了所有迁移
文件指出,
为什么openshift要求在测试之前进行类型迁移,而不进行任何模型更改,以及新数据库会发生什么情况
我从中实例化每个测试用例
from django.test import TestCase
这个导入应该提供开箱即用的新数据库和空表
我应该在openshift hooks中添加一些内容还是修改settings.py
我可以运行测试,但我不明白为什么不能直接键入
manage.py test
并探索结果每次使用git推动openshift都会创建新的运行时,而无需django数据库迁移和模式。数据库的所有历史记录都保存在可以使用ssh访问的子目录中 django测试需要迁移历史来为测试目的重新创建数据库,即使用内存数据库 只有通过运行迁移,才能创建用于测试的迁移架构
如果我错了,请纠正我如果您使用的是文件系统数据库(如SQLite),而没有将其粘贴到指定的持久数据目录中,那么是的,您每次都需要创建它。您可以使用一个环境变量来指定目录的位置。是的,我忘了提到我使用的是SQLite dabase,因为构建它需要大量的处理时间。谢谢你的澄清。有种感觉是我做错了什么