Skip to main content

Module migrate

Module migrate 

Source
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> 注入 MigrationContextmigrate:status 在线模式下从 __migrations 表查询已应用版本,显示真实状态。

Structs§

MigrateArgs
migrate 命令参数

Functions§

execute_migrate
执行 migrate 命令
execute_status
执行 migrate:status 命令(兼容入口,使用默认 postgres 方言)
execute_status_full
执行 migrate:status 命令(完整参数,含在线模式)
execute_status_with
执行 migrate:status 命令(完整参数)