fix: 清理 install.sh 中的所有 FTP/SFTP 残留代码

- 🐛 修复数据库路径检查(ftp-manager.db → data/database.db)
- 🐛 修复数据库迁移函数中的旧数据库路径
- 🐛 修复上传限制检查中的数据库路径
- 🐛 删除对不存在字段的引用
-  优化数据库迁移逻辑

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Claude Opus
2026-01-18 17:44:45 +08:00
parent e2806126a6
commit 664cdda041

View File

@@ -3004,7 +3004,7 @@ health_check() {
fi
# 检查数据库
if [[ -f "${PROJECT_DIR}/backend/ftp-manager.db" ]]; then
if [[ -f "${PROJECT_DIR}/backend/data/database.db" ]]; then
print_success "数据库初始化成功"
else
print_warning "数据库文件不存在"
@@ -3657,12 +3657,12 @@ update_migrate_database() {
# 检查是否需要升级上传限制从100MB升级到10GB
if command -v sqlite3 &> /dev/null; then
if [[ -f "ftp-manager.db" ]]; then
CURRENT_LIMIT=$(sqlite3 ftp-manager.db "SELECT value FROM system_settings WHERE key = 'max_upload_size';" 2>/dev/null || echo "")
if [[ -f "data/database.db" ]]; then
CURRENT_LIMIT=$(sqlite3 data/database.db "SELECT value FROM system_settings WHERE key = 'max_upload_size';" 2>/dev/null || echo "")
if [[ "$CURRENT_LIMIT" == "104857600" ]]; then
print_info "检测到旧的上传限制(100MB)正在升级到10GB..."
sqlite3 ftp-manager.db "UPDATE system_settings SET value = '10737418240' WHERE key = 'max_upload_size';"
sqlite3 data/database.db "UPDATE system_settings SET value = '10737418240' WHERE key = 'max_upload_size';"
print_success "上传限制已升级: 100MB → 10GB"
elif [[ "$CURRENT_LIMIT" == "10737418240" ]]; then
print_success "上传限制已是最新: 10GB"
@@ -3866,35 +3866,34 @@ update_patch_env() {
update_migrate_database() {
print_step "检查数据库迁移..."
local OLD_DB="${PROJECT_DIR}/backend/ftp-manager.db"
local NEW_DB_DIR="${PROJECT_DIR}/backend/data"
local NEW_DB="${NEW_DB_DIR}/database.db"
local OLD_DB="${PROJECT_DIR}/backend/data/database.db"
local OLD_DB_V2="${PROJECT_DIR}/backend/database.db"
# 如果旧数据库存在且新数据库不存在,执行迁移
if [[ -f "$OLD_DB" ]]; then
if [[ ! -f "$NEW_DB" ]]; then
if [[ -f "$OLD_DB_V2" ]]; then
if [[ ! -f "$OLD_DB" ]]; then
# 创建新目录
mkdir -p "$NEW_DB_DIR"
mkdir -p "${PROJECT_DIR}/backend/data"
# 迁移数据库
mv "$OLD_DB" "$NEW_DB"
print_success "数据库已迁移: ftp-manager.db -> data/database.db"
mv "$OLD_DB_V2" "$OLD_DB"
print_success "数据库已迁移: database.db -> data/database.db"
# 同时迁移 journal 文件(如果存在)
if [[ -f "${OLD_DB}-journal" ]]; then
mv "${OLD_DB}-journal" "${NEW_DB}-journal"
if [[ -f "${OLD_DB_V2}-journal" ]]; then
mv "${OLD_DB_V2}-journal" "${OLD_DB}-journal"
fi
if [[ -f "${OLD_DB}-wal" ]]; then
mv "${OLD_DB}-wal" "${NEW_DB}-wal"
if [[ -f "${OLD_DB_V2}-wal" ]]; then
mv "${OLD_DB_V2}-wal" "${OLD_DB}-wal"
fi
if [[ -f "${OLD_DB}-shm" ]]; then
mv "${OLD_DB}-shm" "${NEW_DB}-shm"
if [[ -f "${OLD_DB_V2}-shm" ]]; then
mv "${OLD_DB_V2}-shm" "${OLD_DB}-shm"
fi
else
# 新旧数据库都存在,警告用户
print_warning "检测到新旧数据库同时存在!"
print_warning " 旧: ${OLD_DB}"
print_warning " 新: ${NEW_DB}"
print_warning " 旧: ${OLD_DB_V2}"
print_warning " 新: ${OLD_DB}"
print_warning "请手动确认数据后删除旧数据库文件"
fi
else