<?php
// CLI only. Run from the deployed project; uses its default DATABASE settings.
if(PHP_SAPI!=='cli')exit('CLI only');
require dirname(__DIR__).'/vendor/autoload.php';
$app=new \think\App(dirname(__DIR__).'/');$app->initialize();
set_exception_handler(function($e){fwrite(STDERR,'Key training migration failed: '.$e->getMessage().PHP_EOL);exit(1);});
\app\mobile\service\KeyTrainingSchema::install();
$now=time();
if(!\think\facade\Db::name('admin_menus')->where('menu_key','training.plans')->find())
    \think\facade\Db::name('admin_menus')->insert(['menu_key'=>'training.plans','parent_key'=>'training','title'=>'关键岗位培训','icon'=>'Reading','sort_order'=>15,'enabled'=>1,'updated_at'=>$now]);
foreach([
    ['training-apply','培训报名','/pages/key-training/apply','2,3','user-add'],
    ['training-teach','我的授课','/pages/key-training/teach','2,3','user-group'],
    ['training-mine','我的培训','/pages/key-training/mine','1,2,3','book']
] as $menu){
    $existing=\think\facade\Db::name('admin_menus_wx')->where('action',$menu[0])->find();
    if(!$existing)
        \think\facade\Db::name('admin_menus_wx')->insert(['action'=>$menu[0],'title'=>$menu[1],'route'=>$menu[2],'icon'=>$menu[4],'icon_color'=>'#137e78','sort'=>120,'status'=>1,'user_types'=>$menu[3],'department_ids'=>'']);
    else
        \think\facade\Db::name('admin_menus_wx')->where('id',$existing['id'])->update(['route'=>$menu[2],'icon'=>$menu[4]]);
}
echo "Key training schema and menus installed. Existing business records unchanged.\n";
