# @deterministic-code/migraters 中文文档

规范地址：https://npmcn.com/package/%40deterministic-code/migraters/

版本：0\.0\.19
npm 元数据更新时间：2026-11-06T21:11:25.761Z
中文译文更新时间：2026-11-12T01:56:26.695Z
软件包许可：未声明

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40deterministic-code/migraters
原文对照：https://npmcn.com/package/%40deterministic-code/migraters/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：101 MB，1403 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- 运行依赖：1 个
- 首次发布：2026-10-20T05:03:15.795Z
- 最新版本发布：2026-11-06T21:11:25.557Z
- 近 30 天下载量：4185（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：20（近 12 个月 20 个）

## 中文简介

用于确定码(型号、生锈、csharp)的移动可执行文件.

## 安装

```sh
npm install @deterministic-code/migraters
```

也可以使用：`pnpm add @deterministic-code/migraters`、`yarn add @deterministic-code/migraters`、`bun add @deterministic-code/migraters`

## README

# 忧郁症

[![CI](https://github.com/deterministic-code/migraters/actions/workflows/proof.yml/badge.svg)](https://github.com/deterministic-code/migraters/actions/workflows/proof.yml)

Migraters 允许您在开发过程中保存 SQL 变化, 以便后期在上游应用 。 随着代码库的复杂程度和团队规模的增长,跟踪和同步这些变化变得更加困难。 弥撒是为此而建的.

典型的工作流程是:

-   在发展方面,创建一个或多个移民档案,对其进行测试,并运行移民.
-   在部署时,这些脚本被复制到制作中,并再次迁移,因此上游数据库与开发匹配.

迁移命令可用于 [许多语言](https://npmcn.com/package/%40deterministic-code/migraters/#readme-language-support) 支助 [许多 SQL 方言](https://npmcn.com/package/%40deterministic-code/migraters/#readme-providers)。 。 。 .

## 安装技能

Claude或Cursor的代理技能: [技术/技能](https://npmcn.com/package/%40deterministic-code/migraters/skill/SKILL.md)。 。 。 .

```shell
npx skills add https://github.com/deterministic-code/migraters/tree/main/skill -g -a cursor -a claude-code -y --copy
```

## 安装

### 从 npm 安装

```shell
npm install @deterministic-code/migraters
```

## 技能提示

自然语言促使 [技能](https://npmcn.com/package/%40deterministic-code/migraters/skill/SKILL.md) 直接映射到 CLI 命令 :

| 提示 | 运行 |
| --- | --- |
| 安装 sqlite 和 postgres 的迁移器 | `npm install` → `npx migrate-init --language typescript --dialect sqlite --dialect postgres` |
| 添加驱动程序预告 | `npx migrate-init --language <language>` 包含先前的方言 **加号** `oracle` |
| 创建新迁移 | `npx migrate-create` |
| 向上迁移 | `npx migrate-up` |
| 向下迁移 | `npx migrate-down` |

## 快速实例

`user.sql`数字 :

```sql
CREATE TABLE users (
  id INTEGER PRIMARY KEY,
  email TEXT NOT NULL
);
```

```shell
npx migrate-init --language typescript --dialect sqlite
npx migrate-setup --provider sqlite --connection ./app.sqlite
npx migrate-create --provider sqlite --name add_users
touch user.sql
cat user.sql > sql/sqlite/migrations/0001_add_users_up.sql
npx migrate-up --provider sqlite --connection ./app.sqlite
```

## 图标

### 输入

这个 `migrate-init` 命令安装语言和数据源依赖,并构建迁移命令.

```shell
npx migrate-init --language typescript --dialect sqlite --dialect postgres
npx migrate-init --language csharp --dialect sqlite
npx migrate-init --language rust --dialect sqlite
```

### 设置

创建 `migrates` 财务报告和审定财务报表 `migrate_logs` 表格和迁移目录。 同上,注:.

```shell
npx migrate-setup --provider <sqlite|postgres|mysql|sqlserver|oracle> --connection <url> [--migrations-path <dir>] [--and-up] [--create-database] [--batch-separator <token>]
```

`--create-database` 创建名为 `--connection` 如果它不存在的话. `--and-up` 运行 `migrate-up` 设置后马上。 默认迁移目录为 `./sql/<dialect>/migrations`。 。 。 .

### 上来

应用每一个待迁移, 每一个在自己的交易.

```shell
npx migrate-up --provider <…> --connection <url> [--migrations-path <dir>] [--migrations-root <dir>] [--one] [--batch-separator <token>]
```

`--migrations-root` 看着下面 `<root>/<dialect>/migrations` 默认为 `sql`。当 `--migrations-path` 已经设定. `--one` 仅适用下一次待定的迁移。 批量分隔线从 `GO` 默认( sqlcmd- style),或带有 `--batch-separator`。跟踪 `--` 注释或 `YYYY-MM-DD` 允许约会。 每批分别执行.

### 下来

倒退了最近应用的迁移,一步。 类型 `confirm` 或通过 `--confirm`。 。 。 .

```shell
npx migrate-down --provider <…> --connection <url> [--migrations-path <dir>] [--migrations-root <dir>] [--confirm] [--batch-separator <token>]
```

### 创建

写下一个 `<NNNN>_<name>_up.sql` 财务报告和审定财务报表 `<NNNN>_<name>_down.sql` 双人 名称必须匹配 `^[a-z][a-z0-9_]*$`。 。 。 .

```shell
npx migrate-create --provider <…> --name <snake_case_slug> [--migrations-path <dir>]
```

## API 密码

四个 `IMigrater` 动词是每种语言的一种合同: [`cli.yaml`](https://npmcn.com/package/%40deterministic-code/migraters/cli.yaml), (中文(简体) ), `IMigrater` 内 [`api.yaml`](https://npmcn.com/package/%40deterministic-code/migraters/api.yaml)。每种语言都执行该接口。 插入并删除目录 `up` 财务报告和审定财务报表 `down`。 。 。 . `migrate-init` 仅居住在 [`cli.yaml`](https://npmcn.com/package/%40deterministic-code/migraters/cli.yaml)。 。 。 .

| 动词 | 类型脚本 [`IMigrater`](https://npmcn.com/package/%40deterministic-code/migraters/typescript/src/abstractions/migrater.ts) | 锈 [`IMigrater`](https://npmcn.com/package/%40deterministic-code/migraters/rust/src/migrater.rs) | C# (韩语) [`IMigrater`](https://npmcn.com/package/%40deterministic-code/migraters/csharp/Abstractions/IMigrater.cs) |
| --- | --- | --- | --- |
| 设置 | `setup` | `setup` | `Setup` |
| 上来 | `up` | `up` | `Up` |
| 下来 | `down` | `down` | `Down` |
| 创建 | `create` | `create` | `Create` |

## 语文支助

| 数据源 | C# (韩语) | 锈 | 类型脚本 |
| --- | --- | --- | --- |
| 块状 | 对 | 对 | 对 |
| 邮资 | 对 | 对 | 对 |
| 密苏里语name | 对 | 对 | 对 |
| sqlserver 服务器 | 对 | 对 | 对 |
| 预告 | 对 | 对 | 对 |

## 供应商

`sqlite`, (中文(简体) ), `postgres`, (中文(简体) ), `mysql`, (中文(简体) ), `sqlserver`,以及 `oracle`。 。 。 .

何时 `--connection` 省略,跑者读取该方言的第一组环境变量:

| 提供者 | 环境变量 |
| --- | --- |
| 块状 | `SQLITE_PATH`, (中文(简体) ), `DB_PATH` |
| 邮资 | `PG_CONNECTION_STRING`, (中文(简体) ), `DATABASE_URL` |
| 密苏里语name | `MYSQL_URL`, (中文(简体) ), `DATABASE_URL` |
| sqlserver 服务器 | `MSSQL_URL`, (中文(简体) ), `DATABASE_URL` |
| 预告 | `ORACLE_CONNECT_STRING`, (中文(简体) ), `DATABASE_URL` |

## 规格

共享 argv、旗帜、别名、退出代码和命令行为 [`cli.yaml`](https://npmcn.com/package/%40deterministic-code/migraters/cli.yaml)。 。 。 . `IMigrater` (单位:千美元)`setup`, (中文(简体) ), `up`, (中文(简体) ), `down`, (中文(简体) ), `create`生活在这里 [`api.yaml`](https://npmcn.com/package/%40deterministic-code/migraters/api.yaml)。 。 。 . `migrate-init` 仅限CLI。 SQL 拼写仍为提供者细节.

## 常见问题

### @deterministic-code/migraters 是什么？

用于确定码\(型号、生锈、csharp\)的移动可执行文件\.

### 如何安装 @deterministic-code/migraters？

在项目目录运行 npm install @deterministic-code/migraters，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 migrate-up、migrate-down、migrate-init、migrate-setup、migrate-create，可以用 npx migrate-up 直接运行。

### @deterministic-code/migraters 支持 TypeScript 吗？

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

### @deterministic-code/migraters 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @deterministic-code/migraters 可以商用吗？

@deterministic-code/migraters 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @deterministic-code/migraters 的下载量有多少？

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

### @deterministic-code/migraters 还在维护吗？

最新版本 0\.0\.19 发布于 2026/11/07（5 天前）；至今共发布 20 个版本，其中过去 12 个月发布了 20 个；首次发布于 2026/10/20。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

