All checks were successful
ci/woodpecker/manual/woodpecker Pipeline was successful
- Hono + TypeScript 后端,连接 MySQL 数据库 - React + Vite + Tailwind 前端 - 车辆资产实时汇总(按车型/品牌型号分组) - 本周交车/还车/替换统计(关联业务单据) - 车牌号详情弹窗 - Dockerfile + Woodpecker CI 流水线 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
55 lines
2.0 KiB
TypeScript
55 lines
2.0 KiB
TypeScript
import dotenv from 'dotenv';
|
|
dotenv.config();
|
|
import mysql from 'mysql2/promise';
|
|
|
|
async function main() {
|
|
const pool = mysql.createPool({
|
|
host: process.env.DB_HOST,
|
|
port: Number(process.env.DB_PORT),
|
|
user: process.env.DB_USER,
|
|
password: process.env.DB_PASSWORD,
|
|
database: process.env.DB_NAME,
|
|
});
|
|
|
|
// Check tab_truck columns for time-related fields
|
|
const [truckCols] = await pool.query(`
|
|
SELECT COLUMN_NAME, DATA_TYPE, COLUMN_COMMENT
|
|
FROM information_schema.COLUMNS
|
|
WHERE TABLE_SCHEMA='lingniu_prod3' AND TABLE_NAME='tab_truck'
|
|
AND (COLUMN_NAME LIKE '%time%' OR COLUMN_NAME LIKE '%date%' OR COLUMN_NAME LIKE '%status%' OR COLUMN_NAME LIKE '%create%' OR COLUMN_NAME LIKE '%update%' OR COLUMN_NAME LIKE '%delete%' OR COLUMN_NAME LIKE '%operation%')
|
|
ORDER BY ORDINAL_POSITION
|
|
`);
|
|
console.log('=== tab_truck time/status columns ===');
|
|
for (const c of truckCols as any[]) {
|
|
console.log(` ${c.COLUMN_NAME} (${c.DATA_TYPE}) — ${c.COLUMN_COMMENT || ''}`);
|
|
}
|
|
|
|
// Check for status change/history tables
|
|
const [tables] = await pool.query(`
|
|
SELECT TABLE_NAME, TABLE_COMMENT
|
|
FROM information_schema.TABLES
|
|
WHERE TABLE_SCHEMA='lingniu_prod3'
|
|
AND (TABLE_NAME LIKE '%log%' OR TABLE_NAME LIKE '%history%' OR TABLE_NAME LIKE '%change%' OR TABLE_NAME LIKE '%record%' OR TABLE_NAME LIKE '%status%')
|
|
ORDER BY TABLE_NAME
|
|
`);
|
|
console.log('\n=== Related history/log tables ===');
|
|
for (const t of tables as any[]) {
|
|
console.log(` ${t.TABLE_NAME} — ${t.TABLE_COMMENT || ''}`);
|
|
}
|
|
|
|
// Check tab_truck_status_info structure
|
|
const [statusCols] = await pool.query(`
|
|
SELECT COLUMN_NAME, DATA_TYPE, COLUMN_COMMENT
|
|
FROM information_schema.COLUMNS
|
|
WHERE TABLE_SCHEMA='lingniu_prod3' AND TABLE_NAME='tab_truck_status_info'
|
|
ORDER BY ORDINAL_POSITION
|
|
`);
|
|
console.log('\n=== tab_truck_status_info columns ===');
|
|
for (const c of statusCols as any[]) {
|
|
console.log(` ${c.COLUMN_NAME} (${c.DATA_TYPE}) — ${c.COLUMN_COMMENT || ''}`);
|
|
}
|
|
|
|
await pool.end();
|
|
}
|
|
main();
|