95 lines
3.1 KiB
PHP
95 lines
3.1 KiB
PHP
<?php
|
|
require_once './_common.php';
|
|
|
|
// 관리자 권한 체크
|
|
if (!$is_admin) {
|
|
die('관리자만 접근 가능합니다.');
|
|
}
|
|
|
|
echo "<h2>견적서 시스템 업데이트 실행</h2>";
|
|
|
|
// SQL 파일 읽기
|
|
$sql_file = './update_for_new_features.sql';
|
|
if (!file_exists($sql_file)) {
|
|
die('SQL 파일을 찾을 수 없습니다.');
|
|
}
|
|
|
|
$sql_content = file_get_contents($sql_file);
|
|
|
|
// SQL 문을 세미콜론으로 분리
|
|
$sql_statements = explode(';', $sql_content);
|
|
|
|
$success_count = 0;
|
|
$error_count = 0;
|
|
$errors = array();
|
|
|
|
echo "<div style='background: #f5f5f5; padding: 10px; margin: 10px 0;'>";
|
|
echo "<h3>업데이트 진행 상황:</h3>";
|
|
|
|
foreach ($sql_statements as $sql) {
|
|
$sql = trim($sql);
|
|
|
|
// 빈 문장이나 주석 건너뛰기
|
|
if (empty($sql) || strpos($sql, '--') === 0 || strpos($sql, '/*') === 0) {
|
|
continue;
|
|
}
|
|
|
|
try {
|
|
$result = sql_query($sql, false);
|
|
if ($result) {
|
|
$success_count++;
|
|
echo "<p style='color: green;'>✓ SQL 실행 성공: " . substr($sql, 0, 50) . "...</p>";
|
|
} else {
|
|
$error_count++;
|
|
$error_msg = sql_error();
|
|
$errors[] = "SQL: " . substr($sql, 0, 100) . "... | 오류: " . $error_msg;
|
|
echo "<p style='color: orange;'>⚠ SQL 실행 건너뜀 (이미 존재하거나 무시): " . substr($sql, 0, 50) . "...</p>";
|
|
}
|
|
} catch (Exception $e) {
|
|
$error_count++;
|
|
$errors[] = "SQL: " . substr($sql, 0, 100) . "... | 오류: " . $e->getMessage();
|
|
echo "<p style='color: red;'>✗ SQL 실행 실패: " . substr($sql, 0, 50) . "... | 오류: " . $e->getMessage() . "</p>";
|
|
}
|
|
}
|
|
|
|
echo "</div>";
|
|
|
|
echo "<h3>업데이트 결과:</h3>";
|
|
echo "<p>성공: {$success_count}개</p>";
|
|
echo "<p>오류/건너뜀: {$error_count}개</p>";
|
|
|
|
if (!empty($errors)) {
|
|
echo "<h4>오류 상세:</h4>";
|
|
echo "<ul>";
|
|
foreach ($errors as $error) {
|
|
echo "<li>" . htmlspecialchars($error) . "</li>";
|
|
}
|
|
echo "</ul>";
|
|
}
|
|
|
|
// 테이블 생성 확인
|
|
echo "<h3>테이블 생성 확인:</h3>";
|
|
$tables_to_check = array('order_config', 'order_mail_templates', 'order_sms_templates');
|
|
|
|
foreach ($tables_to_check as $table) {
|
|
$full_table_name = G5_TABLE_PREFIX . $table;
|
|
$result = sql_query("SHOW TABLES LIKE '{$full_table_name}'", false);
|
|
if ($result && sql_num_rows($result) > 0) {
|
|
echo "<p style='color: green;'>✓ {$table} 테이블 존재</p>";
|
|
|
|
// 데이터 개수 확인
|
|
$count_result = sql_query("SELECT COUNT(*) as cnt FROM {$full_table_name}", false);
|
|
if ($count_result) {
|
|
$count_row = sql_fetch_array($count_result);
|
|
echo "<p style='margin-left: 20px;'>- 데이터 개수: {$count_row['cnt']}개</p>";
|
|
}
|
|
} else {
|
|
echo "<p style='color: red;'>✗ {$table} 테이블 없음</p>";
|
|
}
|
|
}
|
|
|
|
echo "<hr>";
|
|
echo "<p><a href='./config_index.php'>설정 관리로 이동</a></p>";
|
|
echo "<p><a href='./expert_visits.php'>전문가 방문 관리로 이동</a></p>";
|
|
echo "<p><a href='./mail_templates.php'>메일 템플릿 관리로 이동</a></p>";
|
|
?>
|