import knex from 'knex'; import path from 'path'; import fs from 'fs'; import config from './config'; // 确保数据库目录存在 const dbDir = path.join(process.cwd(), './database'); if (!fs.existsSync(dbDir)) { fs.mkdirSync(dbDir, { recursive: true }); } // 根据环境选择数据库文件 const dbFileName = config.isProduction ? 'prod.sqlite3' : 'dev.sqlite3'; const dbPath = path.join(dbDir, dbFileName); const db = knex({ client: 'sqlite3', connection: { filename: dbPath }, useNullAsDefault: true, pool: { afterCreate: (conn: any, cb: any) => { conn.run('PRAGMA foreign_keys = ON', cb); } } }); export default db;