@devoxa/integresql-client

中文文档
2.1.2发布于 2025/05/02MITCommonJS近 30 天下载 6.9万

IntegreSQL client for managing isolated PostgreSQL databases in integration tests

原始使用文档
文档目录8 节
  1. Installation
  2. Usage
  3. Full example
  4. Step-by-step guide
  5. Helpers
  6. API requests
  7. Contributors
  8. License

integresql-client

IntegreSQL client for managing isolated PostgreSQL databases in integration tests

Package Version Build Status Code Coverage

Installation • Usage • Contributors • License


Installation

yarn add --dev @devoxa/integresql-client

To install IntegreSQL, please follow their installation instructions.

Usage

Full example

For a full usage example, have a look the integration tests.

Step-by-step guide

  1. Initialize the IntegreSQL client
import { IntegreSQLClient } from '@devoxa/integresql-client'

const integreSQL = new IntegreSQLClient({ url: 'http://localhost:5000' })
// options.url: The URL of the IntegreSQL instance
  1. (Once per test runner process) Get a hash of the migrations & fixtures
// The hash can be generated in any way that fits your business logic, the included
// helper creates a SHA1 hash of the file content of all files matching the glob patterns.
const hash = await integreSQL.hashFiles(['./migrations/**/*', './fixtures/**/*'])
  1. (Once per test runner process) Initialize the template database
await integreSQL.initializeTemplate(hash, async (databaseConfig) => {
  await migrateTemplateDatabase(databaseConfig)
  await seedTemplateDatabase(databaseConfig)
  await disconnectFromDatabase(databaseConfig)
})
  1. (Before each test) Get a isolated test database
const databaseConfig = await integreSQL.getTestDatabase(hash)

Helpers

  • integreSQL.databaseConfigToConnectionUrl(databaseConfig)

API requests

You can directly send requests to the IntegreSQL instance via the included API client, or optionally instantiate a new IntegreSQLApiClient yourself.

await integreSQL.api.reuseTestDatabase(hash, id)

const api = new IntegreSQLApiClient({ url: 'http://localhost:5000' })
await api.reuseTestDatabase(hash, id)

Contributors

Thanks goes to these wonderful people (emoji key):

David Reeß
David Reeß

💻 📖 ⚠️
Pedro Saratscheff
Pedro Saratscheff

💻 ⚠️

This project follows the all-contributors specification. Contributions of any kind welcome!

License

MIT

版本与发布记录

@devoxa/integresql-client 共发布 6 个版本,首次发布于 2023/02/04;过去 12 个月发布了 0 个版本。

版本发布日期距今
2.1.2latest2025/05/021.5 年前
2.1.12024/11/162 年前
2.1.02024/11/162 年前
2.0.02023/07/293 年前
1.0.12023/05/193 年前
1.0.02023/02/043 年前

关于 @devoxa/integresql-client 的常见问题

@devoxa/integresql-client 是什么?

IntegreSQL client for managing isolated PostgreSQL databases in integration tests

如何安装 @devoxa/integresql-client?

在项目目录运行 npm install @devoxa/integresql-client,或使用 pnpm add / yarn add / bun add。

@devoxa/integresql-client 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/devoxa__integresql-client 是否存在。

@devoxa/integresql-client 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@devoxa/integresql-client 可以商用吗?

@devoxa/integresql-client 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@devoxa/integresql-client 的下载量有多少?

根据 npm 官方下载统计,@devoxa/integresql-client 在 2026/10/12 – 2026/11/10 这 30 天内被下载 68,895 次,日均约 2,297 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@devoxa/integresql-client 还在维护吗?

最新版本 2.1.2 发布于 2025/05/02(1.5 年前);至今共发布 6 个版本,其中过去 12 个月发布了 0 个;首次发布于 2023/02/04。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。