diff --git a/app/drizzle/db.ts b/app/drizzle/db.ts index abe7f4d..c7b6c18 100644 --- a/app/drizzle/db.ts +++ b/app/drizzle/db.ts @@ -10,13 +10,12 @@ import {fileURLToPath} from 'url'; config({ path: path.resolve(process.cwd(), '.env') }); // 检查环境变量 -if (!process.env.DATABASE_URL) { - throw new Error('DATABASE_URL environment variable is not set'); +// 注意:在 CI/Nuxt prerender 构建阶段,可能没有 DATABASE_URL +const connectionString = process.env.DATABASE_URL || 'postgresql://postgres:dummy@localhost:5432/dummy'; +if (!process.env.DATABASE_URL && !process.env.npm_lifecycle_script?.includes('build')) { + console.warn('Warning: DATABASE_URL environment variable is not set. Using dummy connection string for build/prerender.'); } -// 创建PostgreSQL连接 -const connectionString = process.env.DATABASE_URL; - // 检测数据库类型 const isNeonDatabase = connectionString.includes('neon.tech') || connectionString.includes('neon.database.com'); diff --git a/nuxt.config.ts b/nuxt.config.ts index cf01f52..1143455 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -285,10 +285,10 @@ export default defineNuxtConfig({ : process.env.NETLIFY ? 'netlify' : process.env.NITRO_PRESET || 'node-server', - // 明确关闭 prerender / 爬取链接,避免 Node 端不必要的预渲染浪费内存 + // 明确关闭 prerender / 爬取链接,避免 Node 端不必要的预渲染浪费内存和依赖数据库环境 prerender: { crawlLinks: false, - routes: ['/', '/login'] + routes: [] }, minify: true, sourceMap: false,