9 个版本

0.5.12 2021年9月5日
0.5.11 2021年9月4日
0.5.4 2021年8月7日
0.5.2 2019年9月21日
0.4.1 2019年9月4日

#899 in 开发工具

MIT/Apache

26KB
474 代码行

Midas (cargo-migrate)

Crates.io Package Crates.io Downloads License Github Workflow Status

所以,吕底亚的国王米达斯最初因为发现自己能将所触及的一切变成金子而自豪;但当他看到他的食物变硬,他的饮料变成了金色的冰块时,他明白了这份礼物是一种诅咒,并在对金子的厌恶中诅咒了他的祈祷。

  • 摘自克劳狄安的《金光》

轻松迁移。

支持的数据库

目前,唯一支持的数据库是 Postgres

用法

使用 CLI

以下是一个 midas 的示例命令行用法。

midas --database postgres://postgres@localhost:5432/postgres --source migrations up

或者你也可以使用 cargo migrate 将其集成到你的 cargo 工作流程中。

该命令将执行所有 特殊(向上)SQL 迁移文件到数据库。
以下是可以用的子命令

create    Creates a timestamped migration file
down      Remove all applied migrations
drop      Drops everything inside the database
redo      Redo the last migration
revert    Reverts the last migration
init      Setups and creates initial file directory and env
status    Checks the status of the migration
up        Apply all non-applied migrations

更多信息请参阅 --帮助

安装

如果你喜欢 Rust,则可以使用 cargo 进行安装。

  • 最低支持的 Rust 版本是 1.37.0。
cargo install midas

不同操作系统发行版的二进制文件可以在此处下载 这里

路线图

  • 创建数据库对象的 TOML DSL
  • 设置多个驱动程序(例如 MySQL、Sqlite3 等)
  • 添加对 setupdrop 命令的功能。
  • 更多即将到来。

许可证

根据您的选择,许可为以下之一

贡献

除非您明确声明,否则您提交的任何有意包含在作品中的贡献,根据 Apache-2.0 许可证定义,应按上述方式双许可,不附加任何额外条款或条件。

依赖项

~12–23MB
~339K SLoC