首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在jest中运行创建扩展的sql迁移会触发一个约束错误。

在jest中运行创建扩展的sql迁移会触发一个约束错误。
EN

Stack Overflow用户
提问于 2020-12-30 18:41:25
回答 1查看 120关注 0票数 0

我使用普里斯马2作为我的ORM。都是为了迁移和查询。

我有一个createTestContext助手,除其他外,它通过以下方式初始化Prisma:

  1. 创建新架构
  2. 通过运行./node_modules/.bin/prisma migrate deploy --preview-feature部署迁移(简而言之,它运行我的项目目录中的所有迁移)。

在每次测试中,我都会创建一个新的TestContext,以确保不会产生任何副作用。但问题是,由于我的所有测试都是并行运行的,所有测试都同时在数据库上运行--这个迁移:

代码语言:javascript
复制
CREATE EXTENSION IF NOT EXISTS postgis

这将触发以下错误:

代码语言:javascript
复制
Unique constraint failed on the fields: (`extname`)
EN

回答 1

Stack Overflow用户

发布于 2020-12-30 19:31:10

不确定如何正确地修复此问题,但当前的解决方法是捕获unique_violation异常并对其不做任何操作:

代码语言:javascript
复制
DO
$$
BEGIN
CREATE EXTENSION IF NOT EXISTS postgis;
EXCEPTION
WHEN unique_violation
    THEN NULL;
END;
$$
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65512008

复制
相关文章

相似问题

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