const { Sequelize } = require('sequelize'); const path = require('path'); // 数据库文件路径 const dbPath = path.join(__dirname, 'data/cashier.db'); console.log('Checking database at:', dbPath); // 创建Sequelize实例 const sequelize = new Sequelize({ dialect: 'sqlite', storage: dbPath, logging: false }); async function checkDatabase() { try { // 验证连接 await sequelize.authenticate(); console.log('Connection has been established successfully.'); // 查询所有表 const [results] = await sequelize.query("SELECT name FROM sqlite_master WHERE type='table'"); console.log('Tables in database:', results); // 检查各个表是否存在 const tableNames = results.map(table => table.name); const requiredTables = ['products', 'categories', 'orders', 'order_items', 'cashiers', 'settings']; console.log('\nChecking required tables:'); for (const table of requiredTables) { if (tableNames.includes(table)) { console.log(`✓ ${table} table exists`); // 查询表中的记录数 try { const [countResult] = await sequelize.query(`SELECT COUNT(*) as count FROM ${table}`); console.log(` - Record count: ${countResult[0].count}`); } catch (err) { console.log(` - Error getting count: ${err.message}`); } } else { console.log(`✗ ${table} table missing`); } } // 如果有products表,查询其中的示例数据 const productsTable = results.find(table => table.name === 'products'); if (productsTable) { console.log('\nSample products:'); try { const [products] = await sequelize.query("SELECT id, barcode, name, price, stock FROM products LIMIT 5"); console.log(products); } catch (err) { console.log('Error getting sample products:', err.message); } } await sequelize.close(); } catch (error) { console.error('Error checking database:', error); } } checkDatabase();