django - 如何解决测试中的 Django hstore 错误
问题描述
在我正在合作的应用程序的某些地方,HStoreField
使用了 a(来自django.contrib.postgres.fields
)。该应用程序本身工作正常,没有构建错误。但是当我运行测试时,我遇到了一个问题:
django.db.utils.ProgrammingError: type "hstore" does not exist
根据我的发现,问题出在 Postgres 上,所以我尝试在 psql: 中运行以下命令在create extension hstore;
数据库上template1
。现在,在列出扩展名 ( \dx
) 时会显示该扩展名:
hstore | 1.5 | public | data type for storing sets of (key, value) pairs
由于错误仍然存在,这显然不是解决方案。我应该尝试什么?
编辑:我也从设置文件中运行create extension hstore;
了default
数据库,验证了它已创建,但仍然遇到同样的问题。
解决方案
当我打开 pdAdmin 以更好地查看时,我发现了问题所在。在我的设置文件中,我有一个默认数据库mydb
. 我create extension hstore;
在该数据库上运行 psql,但我错过的是为测试创建了一个新数据库:test_mydb
. 我连接到该数据库并在那里运行相同的命令,之后测试开始工作。
推荐阅读
- azure-pipelines - Azure Pipelines:管道如何知道某个步骤失败?
- python - Uniswap 的 GraphQL 接收到不正确的 ReserveUSD 值
- angular - 出现错误:没有找到 exportAs 'ngModel' 的指令。在 Angular 中使用模板表单
- python - 如何使用 TensorFlow 在 LSTM 中创建注意力层?
- eclipse - Eclipse Sirius 和 XText - 安排请求 + 自动刷新图表 - 空错误
- reinforcement-learning - 使用 tf_agents.agents.DqnAgent 添加正则化损失
- python - 谷歌 oauth2l 安装 pyopenssl 麻烦
- python - 在python3中快速从txt文件中读取二维列表
- python - 使用 pygame 生成和绘制正弦波
- javascript - ReactJS:如何从两个不同选项卡上的表中填充特定数据