过去几天,我一直在与Travis CI合作,自动运行我的测试用例。但是,我无法让它发挥作用。
在本地运行我的测试用例非常有效。我使用命令:
python manage.py test myApp
我的travis.yml文件如下......
language: python
os: linux
python:
- "3.5.2"
services: postgresql
install:
- pip install -r requirements.txt
script:
- python manage.py test myApp
我一直收到这个错误:
django.db.utils.ProgrammingError: column myApp_userdocument.createdOn does not exist
我尝试在运行脚本之前运行迁移,但没有运气。我的travis文件看起来有什么明显的错误吗?
答案 0 :(得分:2)
您可以尝试makemigrations
。只有运行迁移才能帮助您运行makeigrations
script:
- python manage.py makemigrations
- python manage.py migrate
- python manage.py test myApp
PS:如果你有SQLite数据库,那么只有migrate
可以使用
编辑:您还需要在执行makeigrations
来自docs
before_script:
- psql -c 'create database travis_ci_test;' -U postgres
阅读docs以设置postgres并提供凭据。