这是我的travis.yml文件:
language: python python: - "2.7" addons: postgresql: "9.3" env: - SECRET_KEY=test DB_NAME=dbtest DB_USER=test DB_PASS=test before_install: - export DJANGO_SETTINGS_MODULE=settings.local - export PYTHONPATH=$HOME/builds/me/myrepo install: - pip install -r requirements.txt before_script: - psql -U postgres -c 'CREATE DATABASE dbtest;' - psql -U postgres -c "CREATE EXTENSION postgis" -d dbtest - psql -U postgres -c "CREATE EXTENSION postgis_topology" -d dbtest - psql -U postgres -c "CREATE USER test WITH PASSWORD 'test';" - psql -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE dbtest to test;" - cd myapp && python manage.py migrate script: - python manage.py test
但是当我部署repo并运行Travis时,它会输出以下错误:
10.96s$pip install -r requirements.txt 0.24s$psql -U postgres -c 'CREATE DATABASE dbtest;' 0.77s$psql -U postgres -c "CREATE EXTENSION postgis" -d dbtest 0.09s$psql -U postgres -c "CREATE EXTENSION postgis_topology" -d dbtest 0.01s$psql -U postgres -c "CREATE USER test WITH PASSWORD 'test';" 0.01s$psql -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE dbtest to test;" 1.89s$cd myapp && python manage.py migrate $python manage.py test Creating test database for alias 'default'... Got an error creating the test database: permission denied to create database Type 'yes' if you would like to try deleting the test database 'test_dbtest',or 'no' to cancel:
我尝试添加psql -U postgres -c“ALTER USER django CREATEDB;”这样django用户就有权创建数据库,但失败了:
ERROR: role "django" does not exist The command "psql -U postgres -c "ALTER USER django CREATEDB;"" Failed and exited with 1 during .