<?php
/** 唯一参数为站点根目录；幂等建表，不导入或修改现有业务记录。 */
if(PHP_SAPI!=='cli')exit;
$root=$argv[1]??'D:/phpstudy_pro/WWW/cqoms.com';require rtrim($root,'/\\').'/vendor/autoload.php';
$app=new \think\App(rtrim($root,'/\\').'/');$app->initialize();
use think\facade\Db;
$p=Db::connect()->getConfig('prefix');if(!preg_match('/^[a-zA-Z0-9_]*$/D',$p))throw new RuntimeException('Invalid prefix');
Db::execute("CREATE TABLE IF NOT EXISTS `{$p}me_position_device` (
 plan_id INT NOT NULL, m_id INT NOT NULL, poid INT NOT NULL, updated_at INT NOT NULL,
 PRIMARY KEY(plan_id,m_id), KEY idx_position(plan_id,poid)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4");
Db::execute("CREATE TABLE IF NOT EXISTS `{$p}me_position_device_log` (
 id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY, plan_id INT NOT NULL, m_id INT NOT NULL,
 old_poid INT NOT NULL, new_poid INT NOT NULL, old_name VARCHAR(100) NOT NULL, new_name VARCHAR(100) NOT NULL,
 actor VARCHAR(100) NOT NULL, source VARCHAR(40) NOT NULL, tid INT NOT NULL, created_at INT NOT NULL,
 KEY idx_plan_log(plan_id,id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4");
echo "Position-device tables ready; existing business records unchanged.\n";
