2017-02-11 14 views
4

我想設置與Travis CI自定義Postgres憑據,因爲我想避免代碼中的現有憑據定義進行測試。如何使用自定義數據庫憑據設置Travis CI和postgresql?

測試代碼定義,數據庫應該可以訪問:

'sqlalchemy.url': 'postgresql://foo:[email protected]/testing_db' 

所以我創建了一個database.travis.yml文件:

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 

我在做什麼錯?

+0

您使用的是Rails嗎? –

+0

@HoriaComan不,我正在使用Python。 – fredrik

回答

5

將以下內容添加到.travis.yml解決了我的問題。不需要database.travis.yml文件。

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

Database.yml似乎是一個Ruby On Rails的東西。 Travis CI從rails/ruby​​測試開始,所以docs可能反映了這一點。

您很可能需要在單獨的腳本或遷移設置中進行設置,並且不要依賴travis,除非運行該服務。

相關問題