diff --git a/src/commands/init.ts b/src/commands/init.ts index 4585ff8..ab7c0bc 100644 --- a/src/commands/init.ts +++ b/src/commands/init.ts @@ -81,8 +81,12 @@ export function initCommand(program: Command): void { await saveEnvs(configOutputPath, envs, 'init'); // 获取数据库统计信息 const dbManager = createDatabaseManagerFromConfigPath(configOutputPath); - const dbStats = dbManager.getStats(); - dbManager.close(); + let dbStats; + try { + dbStats = dbManager.getStats(); + } finally { + dbManager.close(); + } console.log(chalk.green(`✅ Configuration file created successfully: ${options.output}`)); console.log(chalk.green(`🗄️ Database initialized successfully: .envx/envx.db`)); diff --git a/src/utils/com.ts b/src/utils/com.ts index 294201b..279d508 100644 --- a/src/utils/com.ts +++ b/src/utils/com.ts @@ -19,9 +19,12 @@ export async function getEnvs(configPath: string, tag?: string): Promise if (tag) { const dbManager = createDatabaseManagerFromConfigPath(configPath); - envMap = dbManager.getTaggedValues(tag); - dbManager.close(); - return envMap; + try { + envMap = dbManager.getTaggedValues(tag); + return envMap; + } finally { + dbManager.close(); + } } // 合并 .env 文件内容 @@ -56,10 +59,11 @@ export async function getEnvs(configPath: string, tag?: string): Promise export async function saveEnvs(configPath: string, envMap: EnvMap, tag?: string) { const dbManager = createDatabaseManagerFromConfigPath(configPath); - - dbManager.batchUpsertTaggedValues(envMap, tag); - - dbManager.close(); + try { + dbManager.batchUpsertTaggedValues(envMap, tag); + } finally { + dbManager.close(); + } } export async function writeEnvs(configPath: string, envMap: EnvMap) {