我正在使用coverage.py和django-nose来运行单元测试。一切都与“默认” sqlite数据库一起正常工作。但是,当我将其换成postgre数据库时,出现以下错误:
django.db.utils.ProgrammingError:关系“ authentication_user”不存在
在test_settings.py中:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': 'localhost',
'PORT': 5432,
'NAME': 'testing_db',
'USER': 'user_name',
'PASSWORD': 'password'
}
}
用于运行测试的命令(位于“ tests”文件夹中):
coverage run manage.py test tests
奇怪的是,如果我按如下方式运行单个TestCase
,则测试运行良好(错误仅在运行一系列测试时发生):
coverage run manage.py test tests.test_something
这里有什么问题的想法吗?
答案 0 :(得分:0)
完成项目设置后,然后进入ADMIN页面,您必须执行以下命令:
python manage.py createsuperuser
由于您已将数据库切换为postgres,因此应从项目根文件夹运行命令,以使用
manage.py
脚本,并创建一个新的超级用户。 之后,您应该运行到新数据库的迁移并完成。 让我知道进展如何。