完善serverless部署环境

This commit is contained in:
CN-JS-HuiBai
2026-04-10 14:40:24 +08:00
parent bfb40f4947
commit e19a21a3cc
7 changed files with 415 additions and 196 deletions

View File

@@ -4,8 +4,15 @@
*/
require('dotenv').config();
const db = require('./db');
const path = require('path');
const fs = require('fs');
const IS_SERVERLESS = [
process.env.SERVERLESS,
process.env.VERCEL,
process.env.AWS_LAMBDA_FUNCTION_NAME,
process.env.NETLIFY,
process.env.FUNCTION_TARGET,
process.env.K_SERVICE
].some(Boolean);
const SCHEMA = {
users: {
@@ -210,8 +217,14 @@ async function ensureTable(tableName, tableSchema) {
}
async function checkAndFixDatabase() {
const envPath = path.join(__dirname, '..', '.env');
if (!fs.existsSync(envPath)) return;
const autoSchemaSync = process.env.DB_AUTO_SCHEMA_SYNC
? process.env.DB_AUTO_SCHEMA_SYNC === 'true'
: !IS_SERVERLESS;
const hasDbConfig = Boolean(process.env.MYSQL_HOST && process.env.MYSQL_USER && process.env.MYSQL_DATABASE);
if (!hasDbConfig || !autoSchemaSync) {
return;
}
try {
for (const [tableName, tableSchema] of Object.entries(SCHEMA)) {