2 个版本

0.1.1 2023 年 8 月 22 日
0.1.0 2023 年 8 月 21 日

#36 in #PostgreSQL

Apache-2.0

34KB
793

Migratour - 简单数据库迁移 CLI

Migratour 是一个用 Rust 编写的命令行工具,它简化了 PostgreSQL 和 MySQL 数据库的数据库迁移过程。它通过提供创建、应用和撤销数据库更改的命令来简化迁移管理过程。

安装

您可以使用 Rust 包管理器 Cargo 安装 Migratour。在终端中运行以下命令 -

cargo install migratour

支持的数据库

Migratour 支持 PostgreSQLMySQL 数据库。

配置

Migratour 允许您通过配置文件(db.toml)或命令行选项指定数据库类型和连接 URL。

您可以在项目的根目录下创建一个 db.toml 配置文件。以下是一个 PostgreSQL 数据库的示例配置

database = "postgres" # or mysql
database_url = "postgres://username:password@hostname:port/database_name"

将占位符替换为您实际的数据库信息。命令行选项

或者,您可以使用命令行选项指定数据库类型和连接 URL

-d 或 --db : 指定数据库类型(postgresmysql)。

-u, --db-url : 提供数据库的连接 URL。

用法

要创建 新的迁移,使用 new 命令后跟所需的迁移名称

migratour new my_migration

这将创建一个新迁移文件夹在项目的根目录中,并在您的数据库中初始化一个 db_migrations 表(用于跟踪迁移)。


应用迁移,使用 up 命令以及您想要应用迁移的数量。

migratour up 3

这将执行下一个三个 up 迁移文件中的 SQL 脚本。


撤销迁移

如果您需要 撤销迁移,可以使用 down 命令以及您想要撤销迁移的数量。

migratour down 1

这将执行下一个三个 down 迁移文件中的 SQL 脚本。这将撤销最后一个应用的迁移所做的更改。


要获取最后一个应用的迁移的名称,使用 last 命令

migratour last

要获取应用的迁移数量,使用 num 命令:bash

migratour num

迁移文件夹

“Migratour”会自动在您的项目目录中创建一个名为“migrations”的文件夹。所有迁移SQL文件都存储在这个文件夹中。每个迁移都对应两个SQL文件,一个用于向上操作,一个用于向下操作。

依赖项

~57MB
~1M SLoC