Files

29 lines
785 B
JavaScript
Raw Permalink Normal View History

import mysql from 'mysql2/promise';
export function isDatabaseConfigured() {
return Boolean(
process.env.DATABASE_URL ||
(process.env.MYSQL_HOST && process.env.MYSQL_DATABASE),
);
}
export function createDbPool() {
if (!isDatabaseConfigured()) {
throw new Error('MySQL 未配置,请在 .env 设置 DATABASE_URL 或 MYSQL_*');
}
if (process.env.DATABASE_URL) {
return mysql.createPool(process.env.DATABASE_URL);
}
return mysql.createPool({
host: process.env.MYSQL_HOST ?? 'localhost',
port: Number(process.env.MYSQL_PORT ?? 3306),
user: process.env.MYSQL_USER ?? 'boot',
password: process.env.MYSQL_PASSWORD ?? '',
database: process.env.MYSQL_DATABASE ?? 'tkmind',
waitForConnections: true,
connectionLimit: 10,
});
}