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();