django - Django 2.0 - 当我们有多个数据库时,如何处理只对一个数据库进行测试?
问题描述
首先,我是新来这里提问的,所以如果我做得不完美,请耐心等待:) 这里是...
我正在设置一个 Django2.0 API 来处理统计数据。它有自己的“默认”数据库来写东西,但我需要其他几个只读的数据库。这就是现在的设置。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'dev_gpws',
'USER': 'dev_gpws_user',
'PASSWORD': 'gpws_pwd',
'HOST': 'localhost',
'PORT': '5432',
},
'other_db': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'other_db_name',
'USER': 'other_db_user',
'PASSWORD': 'other_db_pwd',
'HOST': 'other_db_host',
'PORT': '5432',
},
}
当fabric将项目部署到staging时,部分例程是./manage.py test
,导致如下错误:
(gpws) dev_gpws@af968cdb7653:~/gpws/project$ ./manage.py test
Creating test database for alias 'default'...
Creating test database for alias 'other_db'...
Got an error creating the test database: ERREUR: permission denied to create database
other_db_user
考虑到只读用户是完全有意义的,所以我想禁用 django 对该数据库的测试。有干净的方法吗?此外,此统计应用程序稍后将与相当多的数据库链接,因此我宁愿使用易于扩展的解决方案。
提前感谢您提供的任何提示!
编辑:为了澄清,我需要在测试时访问 read_only 数据库,但 django 不应该创建 test_databases,它应该使用它给出的暂存数据库:)
解决方案
推荐阅读
- javascript - 为什么mongodb使用employees[0]、employees[1]、employees[2]与使用employees[i]的for循环输出不同?
- c++ - 使用 cmake 从命令行使用 /MT 标志编译
- r - 如何创建循环(当级别不与参考重叠时)
- api - 实现 Streaming Cloud Dataflow 转换,为流中的每个元素调用 API
- google-sheets - 如何过滤谷歌表格数据透视表上的字符长度
- java - UDP 程序丢包追踪
- javascript - 未捕获的类型错误:无法读取未定义的属性“insertRow”
- node.js - 与从 Bluehost NodeJS 服务器本地托管的 NodeJS 服务器通信的最佳实践?
- javascript - 我们如何忽略 cy.route() 请求发送中的 openHash 值
- lua - GLua - 字符串库的一部分