文件
yjyf/scripts/run_phase11_migration.php
YuanWen c01e8fc7d9 feat: 新增大量服务类图标及相关接口配置
- 新增20+家电维修类图标(电视、空调、冰箱等)
- 新增短信发送、微信手机号登录接口
- 新增服务规格查询接口
- 更新后台配置与菜单结构
- 移除支付插件相关配置
2026-11-03 11:19:24 +08:00

55 行
2.3 KiB
PHP

<?php
$pdo = new PDO("mysql:host=127.0.0.1;port=3306;dbname=yjyf;charset=utf8mb4", "yjyf", "4bRz2NYz6pDhsCk4");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sqlFile = 'D:/Projects/phpstudy_pro/WWW/yjyf/db/schema_phase11_menu_reorganize_qibing.sql';
if (!file_exists($sqlFile)) {
die("Error: SQL file not found: $sqlFile\n");
}
$sqlContent = file_get_contents($sqlFile);
$statements = array_filter(array_map('trim', explode(';', $sqlContent)));
echo "========================================================\n";
echo " 优匠优服 · 执行 Phase 11 菜单与大盘数据库配置脚本\n";
echo " 文件路径: $sqlFile\n";
echo "========================================================\n\n";
$step = 1;
foreach ($statements as $st) {
if (empty($st) || strpos($st, '--') === 0) continue;
try {
$affected = $pdo->exec($st);
$preview = str_replace(["\r", "\n", " "], [" ", " ", " "], substr($st, 0, 75));
echo "[步骤 {$step}] 执行成功 (受影响行数: $affected) -> {$preview}...\n";
$step++;
} catch (Exception $e) {
echo "[步骤 {$step}] 执行失败: " . $e->getMessage() . "\n";
die("终止执行。\n");
}
}
echo "\n========================================================\n";
echo " SQL 执行完毕!当前数据库菜单层级验证:\n";
echo "========================================================\n";
$rules = $pdo->query("SELECT id, pid, name, title, icon, weigh, ismenu FROM fa_auth_rule WHERE ismenu = 1 ORDER BY weigh DESC, id ASC")->fetchAll(PDO::FETCH_ASSOC);
function displayTree($rules, $pid = 0, $depth = 0) {
foreach ($rules as $r) {
if ($r['pid'] == $pid) {
echo str_repeat(" ", $depth) . "├── [ID:{$r['id']}] {$r['title']} (name: {$r['name']}, icon: {$r['icon']}, weigh: {$r['weigh']})\n";
displayTree($rules, $r['id'], $depth + 1);
}
}
}
displayTree($rules);
echo "\n========================================================\n";
echo " 系统配置项验证 (fa_config.fixedpage):\n";
echo "========================================================\n";
$fixedpage = $pdo->query("SELECT name, title, value FROM fa_config WHERE name = 'fixedpage'")->fetch(PDO::FETCH_ASSOC);
print_r($fixedpage);
echo "\n全部 SQL 执行并校验成功!\n";