| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- "use strict";
- var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
- };
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.config = exports.getConnection = exports.executeQuery = exports.testConnection = void 0;
- const promise_1 = __importDefault(require("mysql2/promise"));
- let pool = null;
- const getDbConfig = () => ({
- host: process.env.DB_HOST || 'localhost',
- port: Number(process.env.DB_PORT) || 3306,
- user: process.env.DB_USER || 'root',
- password: process.env.DB_PASSWORD || '',
- database: process.env.DB_NAME || 'mqtt_vue_dashboard',
- charset: 'utf8mb4',
- waitForConnections: true,
- connectionLimit: 10,
- queueLimit: 0,
- });
- const getPool = () => {
- if (!pool) {
- const dbConfig = getDbConfig();
- console.log('创建数据库连接池:', {
- host: dbConfig.host,
- port: dbConfig.port,
- user: dbConfig.user,
- database: dbConfig.database,
- env_DB_HOST: process.env.DB_HOST,
- env_DB_PORT: process.env.DB_PORT,
- env_DB_USER: process.env.DB_USER,
- env_DB_NAME: process.env.DB_NAME
- });
- pool = promise_1.default.createPool(dbConfig);
- }
- return pool;
- };
- const testConnection = async () => {
- try {
- const connection = await getPool().getConnection();
- await connection.ping();
- connection.release();
- console.log('数据库连接成功');
- return true;
- }
- catch (error) {
- console.error('数据库连接失败:', error);
- return false;
- }
- };
- exports.testConnection = testConnection;
- const executeQuery = async (query, params) => {
- try {
- const [rows] = await getPool().execute(query, params);
- return rows;
- }
- catch (error) {
- console.error('查询执行失败:', error);
- throw error;
- }
- };
- exports.executeQuery = executeQuery;
- const getConnection = () => {
- return getPool();
- };
- exports.getConnection = getConnection;
- exports.config = {
- testConnection: exports.testConnection,
- getConnection: exports.getConnection,
- executeQuery: exports.executeQuery
- };
- exports.default = getPool;
- //# sourceMappingURL=database.js.map
|