运行 使用 Prisma Migrate 进行集成测试时出错
Error while running integration test with Prisma Migrate
对于迁移管理,我决定使用 Prisma Migrate
而不是 node-pg-migrate
(PostgreSQL)。我按照 this link 中的说明进行操作,一切正常。但是,主要的挑战是我的集成测试在尝试 运行 测试数据库(而不是开发数据库)上的迁移时失败。如何覆盖测试数据库的配置?
在 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);
您可以直接在测试设置中覆盖整个连接字符串 as follows。 Prisma 从环境变量中读取数据库字符串,因此以下列方式覆盖将正常工作。
对于迁移管理,我决定使用 Prisma Migrate
而不是 node-pg-migrate
(PostgreSQL)。我按照 this link 中的说明进行操作,一切正常。但是,主要的挑战是我的集成测试在尝试 运行 测试数据库(而不是开发数据库)上的迁移时失败。如何覆盖测试数据库的配置?
在 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);
您可以直接在测试设置中覆盖整个连接字符串 as follows。 Prisma 从环境变量中读取数据库字符串,因此以下列方式覆盖将正常工作。