# 安装工具接口 ## 接口标准 - 接口类型:命令行接口 + Composer 生命周期接口 - 调用入口:`php think xadmin:install` 或 Composer 自动安装钩子 - 返回形式:控制台文本输出 - 执行链路:先执行 `service:discover`,再执行 `xadmin:publish` 或 `xadmin:publish --migrate` - 迁移规则:只有声明了 `composer.json > extra.xadmin.migrate` 的插件才会自动执行数据库迁移 - 首装规则:首次 `composer install` 只发布资源和迁移脚本,不直接执行数据库迁移 - 状态文件:`vendor/.plugin-state.json` ## 接口列表 ### `xadmin:install` - 说明:显式安装当前项目,完成服务发现、插件资源发布,并对已声明 `extra.xadmin.migrate` 的插件自动执行数据库迁移 ```jsonc { "force": false, // 发布时是否覆盖已存在文件 "migrate": false // 是否强制执行所有已发布迁移,即使当前未命中自动迁移条件 } ``` ### `composer install / update / remove / dump-autoload` - 说明:由 `zoujingli/think-plugs-install` Composer plugin 自动触发安装链路;首次安装只执行发布,后续新增或变更的插件如果声明了 `extra.xadmin.migrate`,会自动执行数据库迁移;未声明时仅输出提示 ```jsonc { "allow_plugin": true, // 根项目 composer.json 需要允许 zoujingli/think-plugs-install 作为 Composer plugin 运行 "auto_publish": true, // 自动执行 service:discover + xadmin:publish "auto_migrate": true, // 仅对非首次安装且本次变更中声明了 extra.xadmin.migrate 的插件自动执行 "initial_install": false // 首次安装时固定为只发布不迁移 } ```