首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用自定义db凭据设置Travis CI和postgresql?

如何使用自定义db凭据设置Travis CI和postgresql?
EN

Stack Overflow用户
提问于 2017-02-11 14:32:09
回答 2查看 6.3K关注 0票数 14

我试图使用Travis CI设置自定义Postgres凭据,因为我希望避免要测试的代码中的现有凭据定义。

测试代码定义数据库应在以下基础上访问:

代码语言:javascript
复制
'sqlalchemy.url': 'postgresql://foo:bar@localhost/testing_db'

因此,我创建了一个database.travis.yml文件:

代码语言:javascript
复制
postgresql: &postgresql
adapter: postgresql
username: foo
password: bar
database: testing_db

...and在我的.travis.yml中添加了以下内容

代码语言:javascript
复制
services:
  - postgresql

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

但是,在测试过程中,我仍然得到了这样的信息:

代码语言:javascript
复制
OperationalError: (psycopg2.OperationalError) FATAL:  role "foo" does not exist

我做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-11 15:08:54

.travis.yml中添加以下内容解决了我的问题。不需要database.travis.yml文件。

代码语言:javascript
复制
before_script:
  - psql -c "CREATE DATABASE testing_db;" -U postgres
  - psql -c "CREATE USER foo WITH PASSWORD 'bar';" -U postgres
票数 20
EN

Stack Overflow用户

发布于 2017-02-11 14:43:40

Database.yml似乎是Rails的东西。Travis是从rails / ruby测试开始的,所以文档可能反映了这一点。

您很可能需要在一个单独的脚本或迁移安装程序中完成您的安装,除了运行服务之外,您不需要依赖travis。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42177055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档