From 7edc636d3f0cbc5e5d7cb79b2d693aec6024fd70 Mon Sep 17 00:00:00 2001 From: Sue <177699783@qq.com> Date: Thu, 6 Nov 2025 10:38:53 +0800 Subject: [PATCH] fix: validate config.db is file not directory (#586) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复 config.db 验证逻辑,处理误创建为目录的情况: - 检测 config.db 是否为目录,如果是则删除并重建为文件 - 保留已存在的数据库文件不受影响 - 修复 Docker volume 挂载可能导致的目录创建问题 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude --- start.sh | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/start.sh b/start.sh index 3c571067..f2051643 100755 --- a/start.sh +++ b/start.sh @@ -117,12 +117,21 @@ read_env_vars() { # Validation: Database File (config.db) # ------------------------------------------------------------------------ check_database() { - if [ ! -f "config.db" ]; then + if [ -d "config.db" ]; then + # 如果存在的是目录,删除它 + print_warning "config.db 是目录而非文件,正在删除目录..." + rm -rf config.db + print_info "✓ 已删除目录,现在创建文件..." + touch config.db + print_success "✓ 已创建空数据库文件,系统将在启动时初始化" + elif [ ! -f "config.db" ]; then + # 如果不存在文件,创建它 print_warning "数据库文件不存在,创建空数据库文件..." # 创建空文件以避免Docker创建目录 touch config.db print_info "✓ 已创建空数据库文件,系统将在启动时初始化" else + # 文件存在 print_success "数据库文件存在" fi }