域名 AXUM.RS 将于 2025 年 10 月到期。我们无意再对其进行续费,如果你有意接续这个域名,请与我们取得联系。
  • AXUM.RS 现仅需人民币 3000 元(大写:叁仟元整。接受适度议价
  • 按照行业规则,AXUM.RS 到期后,大概率会进入长时间的赎回期,该期间内,如果你想拥有该域名,将要付出高额的费用
  • 我们已启用 AXUM.EU.ORG 域名,并将持续运营
  • 仅接受微信或支付宝交易
如果你对 AXUM.RS 有兴趣,请和我们进行联系:

SeaORM 的命令行工具和自动迁移

SeaORM 提供了一个命令行工具,可以快速生成实体。同时,还提供了自动迁移功能。

sea-orm-cli —— 实用的 SeaORM 命令行工具

生成实体

以下是使用环境变量的方式:

DATABASE_URL='postgres://axum_rs:[email protected]:5432/axum_rs' sea-orm-cli generate entity \
	-o src/entity

关于输出目录

输出目录有很多选择,取决于你的项目结构。

  • 如果你使用了 [workspace],则应将其输出到单独的子项目:-o entity/src 👉 别忘了在其它使用它的项目的Cargo.toml加上它的依赖
  • 如果你只是一个简单的项目,则应将其输出到当前项目的 src目录下,作为一个模块使用:-o src/entity 👉 别忘了在 src/main.rssrc/lib.rs加上 pub mod entity;

数据迁移

官方文档

初始化迁移目录

sea-orm-cli migrate init

将在当前目录下创建./migration子目录

将在当前目录下创建./migration子目录

运行数据迁移

子命令列表

sea-orm-cli migrate <子命令>
子命令说明
init初始化
up运行所有已准备的迁移
up -n 10运行10条已准备的迁移
down回滚最后的迁移
down -n 10回滚最后10条迁移
status当前迁移状态
fresh删除数据库中所有表,然后运行所有迁移
refresh回滚所有已运行的迁移,然后重新运行所有迁移
reset回滚所有已运行的迁移

通过编程方式操作数据迁移

实现MigratorTrait,然后就可以通过编程方式操作了。

要查看完整内容,请先登录