postgresql - 使用 Prisma Migrate 运行集成测试时出错
问题描述
对于迁移管理,我决定使用Prisma Migrate
而不是node-pg-migrate
(PostgreSQL)。我按照此链接中的说明进行操作,一切正常。但是,主要挑战是我的集成测试在尝试在测试数据库(而不是开发数据库)上运行迁移时失败。如何覆盖我的测试数据库的配置?
在node-pg-migrate
运行集成测试之前,我可以简单地提供配置:
import migrationRunner from 'node-pg-migrate';
// --- Integration test setup:
beforeAll(async () => {
await migrationRunner({
migrationsTable: dbConfig['migrations-table'],
dir: dbConfig['migrations-dir'],
schema: dbConfig.schema,
databaseUrl: databaseURL,
// --- other configs
});
}, config.get('test').timeout);
解决方案
您可以在测试设置中直接覆盖整个连接字符串,如下所示。Prisma 从环境变量中读取 DB 字符串,因此以下列方式覆盖将正常工作。
推荐阅读
- java - java.library.path 中没有 mssql-jdbc_auth-8.4.0.x64 | 替代手动将其复制到 java home / bin
- typescript - 如何使用 ES6 导入/导出语法解决 TS 循环引用问题但仍保留推断的静态类型?
- ios - 如何为 CallKit 来电 UI 设置超时
- mysql - MySQL 触发器总和 Varchar
- solr - Solr 搜索 - 价格范围根据每个产品的一组产品的 min_price 计数
- java - NoClassDefFoundError 与 EncryptedDocumentException
- amazon-web-services - 调用 UpdateUserPool 操作时发生错误 (NotAuthorizedException)
- flutter - 如何检查设备上是否安装了 Flutter Web 应用程序?
- django - 我在 django 中删除用户时遇到了 IntegrityError
- javascript - Webpack:如何在 .css 中重写 URL