feat(M01-B): 建立核心迁移与MySQL连接池

This commit is contained in:
Codex
2026-06-16 21:15:29 +08:00
parent de63164972
commit 8801881f9c
13 changed files with 404 additions and 7 deletions
@@ -0,0 +1,29 @@
import assert from 'node:assert/strict';
import { loadConfig } from '../dist/config.js';
import { toPoolOptions } from '../dist/db/mysql.js';
const config = loadConfig({
NODE_ENV: 'test',
QIPAI_MYSQL_HOST: 'db.internal',
QIPAI_MYSQL_PORT: '3307',
QIPAI_MYSQL_DATABASE: 'qipai_test',
QIPAI_MYSQL_USER: 'qipai_test_user',
QIPAI_MYSQL_PASSWORD: 'test-password',
QIPAI_MYSQL_CONNECTION_LIMIT: '7',
QIPAI_MQTT_URL: 'mqtt://127.0.0.1:1883'
});
const poolOptions = toPoolOptions(config);
assert.equal(config.mysql.passwordConfigured, true);
assert.equal(poolOptions.host, 'db.internal');
assert.equal(poolOptions.port, 3307);
assert.equal(poolOptions.database, 'qipai_test');
assert.equal(poolOptions.user, 'qipai_test_user');
assert.equal(poolOptions.password, 'test-password');
assert.equal(poolOptions.connectionLimit, 7);
assert.equal(poolOptions.waitForConnections, true);
assert.equal(poolOptions.namedPlaceholders, true);
assert.equal(poolOptions.timezone, 'Z');
console.log('PASS: MySQL pool contract is present.');