Skip to main content

execute_optimize_schema

Function execute_optimize_schema 

Source
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() 填充具体字段信息

§流程

  1. 读取 config/database.yml,提取所有连接名、数据库与表前缀
  2. 序列化为美化格式 JSON(含生成时间戳、连接列表、空 tables 数组)
  3. 写入 runtime/schema_cache.json
  4. 生成 PHP 兼容索引文件 runtime/schema_cache.php
  5. 输出统计信息(连接数量、文件路径)

§说明

Rust 无法运行时反射获取所有 Model 实现类型,因此本命令生成的是 schema 缓存索引占位文件(tables 为空数组),具体字段元数据由运行时 SchemaCache::remember_schema() 在首次访问表时回源加载并填充。