Как настроить Travis CI и postgresql с помощью пользовательских учетных данных БД?

Я пытаюсь настроить пользовательские учетные данные Postgres с Travis CI, поскольку я хотел бы избежать существующего определения учетных данных в коде для тестирования.

код тестирование определяет, что база данных должна быть доступна на:

'sqlalchemy.url': 'postgresql://foo:bar@localhost/testing_db'

поэтому я создал :

postgresql: &postgresql
adapter: postgresql
username: foo
password: bar
database: testing_db

...и добавил следующее К моему .travis.yml:

services:
  - postgresql

before_script:
  - psql -c 'create database stalker_test;' -U postgres
  - mkdir config && cp database.travis.yml config/database.yml

однако я все еще получаю это во время тестирования:

OperationalError: (psycopg2.OperationalError) FATAL:  role "foo" does not exist

что я делаю не так?

2 ответов


добавляем следующее .travis.yml решить мою проблему. Не нужен .

before_script:
  - psql -c "CREATE DATABASE testing_db;" -U postgres
  - psql -c "CREATE USER foo WITH PASSWORD 'bar';" -U postgres