pub async fn execute_optimize_schema() -> Result<(), CliError>Expand description
执行 optimize:schema 命令 — 生成数据表字段缓存文件
对齐 PHP think optimize:schema:
- 扫描
config/database.yml读取数据库连接配置与表前缀 - 生成 schema 缓存索引文件(
runtime/schema_cache.json) - 同时生成 PHP 兼容的 schema 缓存索引文件(
runtime/schema_cache.php) - 业务方运行时通过
SchemaCache::remember_schema()填充具体字段信息
§流程
- 读取
config/database.yml,提取所有连接名、数据库与表前缀 - 序列化为美化格式 JSON(含生成时间戳、连接列表、空 tables 数组)
- 写入
runtime/schema_cache.json - 生成 PHP 兼容索引文件
runtime/schema_cache.php - 输出统计信息(连接数量、文件路径)
§说明
Rust 无法运行时反射获取所有 Model 实现类型,因此本命令生成的是 schema
缓存索引占位文件(tables 为空数组),具体字段元数据由运行时
SchemaCache::remember_schema() 在首次访问表时回源加载并填充。