码上飞AI清理数据前必须完成可靠备份,否则将导致应用无法启动等不可逆故障;需分别确认并备份内置SQLite、外部MySQL/PostgreSQL及对象存储三类数据源,方式各异且不可混用。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

码上飞AI在清理数据前必须先完成可靠备份,否则误删关键业务表或配置将导致应用无法启动、用户登录失败、订单状态错乱等不可逆故障。
确认当前项目的数据存储形态
打开码上飞控制台 → 进入“项目设置” → 查看“数据源配置”页签。重点确认三项:【是否启用了内置SQLite数据库】、【是否已绑定外部MySQL/PostgreSQL实例】、【是否接入了对象存储(如OSS、S3)用于文件类数据】。这三者备份方式完全不同,混用会导致备份遗漏。
若同时启用内置SQLite和外部数据库,必须分别备份——SQLite文件藏在项目本地目录的./data/db.sqlite3,而外部库需单独执行导出命令。忽略任一路径,清理后就可能丢失用户上传的合同扫描件或历史订单快照。
内置SQLite数据库:直接复制文件备份
方法一:通过码上飞CLI一键导出
在终端中进入项目根目录 → 执行mafei db export --format sqlite --output ./backup/db_$(date +%Y%m%d_%H%M).sqlite3。该命令会生成带时间戳的独立文件,不覆盖旧备份。
方法二:手动拷贝(仅限开发环境)
定位到项目目录下的./data/子文件夹 → 找到db.sqlite3文件 → 复制一份并重命名为db_backup_20261103_2145.sqlite3。注意:【操作前务必确保码上飞服务已完全停止,否则复制出的文件可能损坏】。
外部MySQL/PostgreSQL数据库:用标准工具导出
第一步:获取数据库连接参数
从码上飞项目配置中提取host、port、username、password、database名称;若使用环境变量注入,运行grep -E "(DB_HOST|DB_NAME|DB_USER)" .env快速定位。
第二步:执行mysqldump或pg_dump
MySQL示例:mysqldump -h 127.0.0.1 -P 3306 -u admin -p'xxx' myapp_prod > ./backup/mysql_20261103.sql;PostgreSQL示例:pg_dump -h localhost -U admin -d myapp_prod -f ./backup/pg_20261103.sql。
第三步:验证导出文件完整性
用head -n 20 ./backup/mysql_20261103.sql查看开头是否含CREATE TABLE语句,再用wc -l确认行数大于1000。空文件或仅几百行说明导出失败,需检查权限或网络连通性。
对象存储中的文件数据:同步快照备份
若项目使用OSS/S3保存用户头像、合同PDF、商品图等,必须同步备份对应Bucket。
使用官方CLI工具创建版本化快照:阿里云OSS执行ossutil cp oss://myapp-bucket/ ./backup/oss_snapshot_20261103/ --update;AWS S3执行aws s3 sync s3://myapp-bucket ./backup/s3_snapshot_20261103/ --exclude "*" --include "*.pdf" --include "*.jpg"。
注意:【不要依赖OSS/S3自带的“版本控制”功能替代备份】——它只保留删除前的最后版本,无法恢复被覆盖或恶意篡改的文件。

















