我使用具有适当权限的远程MySQL数据库(使用mysqlclient
)设置了一个Django 2应用程序(和Python 3.6)。
当我运行单元测试时,出现以下错误:django.db.utils.ProgrammingError: (1146, “Table ‘test_<db>.<db>’ doesn’t exist”)
。
当我在localhost
手动打开网站时,一切正常。
从技术上讲,我可以创建一个本地开发数据库进行测试,但我更希望自动创建测试数据库。
修改
似乎这个问题与我的桌子没有被Django see here管理有关。
答案 0 :(得分:1)
我认为这是重复的。
如果缺少该表,请确保您已获得正确的迁移文件(python manage.py makemigrations
),并且已应用该文件(python manage.py migrate
)。
答案 1 :(得分:1)
对我有用的是什么:
将我的表格更改为managed = True
。
删除迁移文件(__init__.py
除外)。
python manage.py makemigrations
python manage.py migrate
现在我的单元测试正在运行。