我在django文档中遵循了7部分教程。 Django项目是使用Openshift快速入门创建的
为什么我需要输入
python manage.py makemigrations
python manage.py migrate
每个单元测试用例执行之前
python manage.py test
每当我将测试用例添加到我的应用程序并将所有更改推送到openshift时,我需要使用SSH连接重新键入迁移到openshift 在我可以进行测试之前 否则我看到“没有这样的表myapp_question”错误消息。
使用python manage.py dbshell我看到数据库已经使用了适当的表,因为我已经进行了所有迁移。
文件说明, Separate, blank databases are created for the tests. 为什么openshift需要在测试之前键入migrate,而不需要更改模型以及新数据库会发生什么。
我从
实例化每个测试用例 from django.test import TestCase
并且这个导入应该提供开箱即用的新数据库和空表。
我应该在openshift挂钩中放置一些东西还是修改settings.py。
我可以运行测试,但我不明白为什么我不能只输入
manage.py test
并探索结果
答案 0 :(得分:0)
使用git进行openshift的每次推送都会在没有django数据库迁移和模式的情况下创建新的运行时。所有数据库历史记录都保存在DATA子目录中,可以使用ssh进行访问。
django测试要求迁移历史记录为测试目的重新创建数据库,使用内存数据库。
仅创建运行迁移并迁移模式以进行测试。
如果我错了,请纠正我