Expand description
migrate / migrate:status 命令 — 整合 sz-orm-core::migration
§PHP 对齐
PHP migrate:status 输出表格:
+---------+------------------+---------------------+
| Version | Migration Name | Run Time |
+---------+------------------+---------------------+
| 001 | create_users | 2024-01-01 00:00:00 |
| 002 | add_index | Pending |
+---------+------------------+---------------------+§整合说明
本模块使用 sz_orm_core::migration::FileMigrationResolver(sz-orm-core,经 sz-rust-orm-facade 透传) 解析迁移目录,
对齐 sz-orm 的迁移文件命名约定(<version>_<name>_up.sql / <version>_<name>_down.sql)。
§离线模式(默认)
不连接数据库,仅解析并列出迁移文件。migrate 命令输出“将执行的 SQL“,
migrate:status 输出迁移列表(状态统一显示 Pending*,因离线无法确定执行历史)。
§在线模式(提供 --url 时启用)
通过 Migrator::migrate() 执行真实迁移,需要注入 MigrationContext::connection。
CLI 通过 sz-orm-sqlx 建立 PostgreSQL/MySQL/SQLite 连接池,包装为
Box<dyn Connection> 注入 MigrationContext。
migrate:status 在线模式下从 __migrations 表查询已应用版本,显示真实状态。
Structs§
- Migrate
Args migrate命令参数
Functions§
- execute_
migrate - 执行 migrate 命令
- execute_
status - 执行 migrate:status 命令(兼容入口,使用默认
postgres方言) - execute_
status_ full - 执行 migrate:status 命令(完整参数,含在线模式)
- execute_
status_ with - 执行 migrate:status 命令(完整参数)