From 92483403080c74b7c8eaf1c8f9b07f3cc3d3b5f9 Mon Sep 17 00:00:00 2001 From: Momentry Studio Date: Mon, 12 Oct 2026 14:45:07 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E4=BE=9D=E8=B5=96=E6=A3=80=E6=9F=A5=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 功能: - SQLite 数据库检查 - PostgreSQL 服务检查 - Qdrant 服务检查 - MongoDB 服务检查 检查项目: - 数据库文件是否存在 - 服务是否运行 - 数据库/集合是否存在 - 必需服务状态总结 用法: ./scripts/check_db_dependencies.sh --- scripts/check_db_dependencies.sh | 109 +++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100755 scripts/check_db_dependencies.sh diff --git a/scripts/check_db_dependencies.sh b/scripts/check_db_dependencies.sh new file mode 100755 index 0000000..372fc97 --- /dev/null +++ b/scripts/check_db_dependencies.sh @@ -0,0 +1,109 @@ +#!/bin/bash +# 数据库依赖检查脚本 + +echo "================================================================================ + 数据库依赖检查 +================================================================================ +" + +USER_HOME=$(eval echo ~${SUDO_USER:-$USER}) + +echo "1. SQLite 数据库检查" +echo "--------------------------------------------------------------------------------" + +# Momentry Studio SQLite +STUDIO_DB="/Users/accusys/momentry_studio/data/users/demo.sqlite" +if [ -f "$STUDIO_DB" ]; then + echo "✅ Momentry Studio SQLite: $STUDIO_DB" + echo " 大小: $(ls -lh "$STUDIO_DB" | awk '{print $5}')" + echo " 表数量: $(sqlite3 "$STUDIO_DB" "SELECT COUNT(*) FROM sqlite_master WHERE type='table';" 2>/dev/null || echo "N/A")" +else + echo "❌ Momentry Studio SQLite: 不存在" +fi + +echo "" + +# MarkBase SQLite +MARKBASE_DB="${USER_HOME}/markbase/data/auth.sqlite" +if [ -f "$MARKBASE_DB" ]; then + echo "✅ MarkBase SQLite: $MARKBASE_DB" + echo " 大小: $(ls -lh "$MARKBASE_DB" | awk '{print $5}')" +else + echo "❌ MarkBase SQLite: 不存在" +fi + +echo "" +echo "2. PostgreSQL 检查" +echo "--------------------------------------------------------------------------------" + +# 检查 PostgreSQL 服务 +if lsof -i :5432 >/dev/null 2>&1; then + echo "✅ PostgreSQL 服务: 运行中 (端口 5432)" + + # 检查 momentry 数据库 + if psql -U ${USER:-postgres} -l 2>/dev/null | grep -q "momentry"; then + echo "✅ Momentry 数据库: 存在" + else + echo "❌ Momentry 数据库: 不存在" + fi +else + echo "❌ PostgreSQL 服务: 未运行" +fi + +echo "" +echo "3. Qdrant 检查" +echo "--------------------------------------------------------------------------------" + +# 检查 Qdrant 服务 +if curl -s http://localhost:6333/collections 2>/dev/null | grep -q "result"; then + echo "✅ Qdrant 服务: 运行中 (端口 6333)" + + # 检查 momentry 集合 + if curl -s http://localhost:6333/collections/momentry_rule1 2>/dev/null | grep -q "momentry_rule1"; then + echo "✅ Momentry 集合: 存在" + else + echo "⚠️ Momentry 集合: 不存在" + fi +else + echo "❌ Qdrant 服务: 未运行" +fi + +echo "" +echo "4. MongoDB 检查" +echo "--------------------------------------------------------------------------------" + +# 检查 MongoDB 服务 +if lsof -i :27017 >/dev/null 2>&1; then + echo "✅ MongoDB 服务: 运行中 (端口 27017)" + + # 检查 momentry 数据库 + if mongosh --quiet --eval "db.getSiblingDB('momentry').stats()" 2>/dev/null | grep -q "db"; then + echo "✅ Momentry 数据库: 存在" + else + echo "⚠️ Momentry 数据库: 不存在" + fi +else + echo "❌ MongoDB 服务: 未运行" +fi + +echo "" +echo "================================================================================ + 检查总结 +================================================================================ +" + +echo "必需服务状态:" +echo " Momentry Studio (前端):" +echo " - SQLite: $([ -f "$STUDIO_DB" ] && echo "✅ 就绪" || echo "❌ 缺失")" +echo "" +echo " Momentry Core (后端):" +echo " - PostgreSQL: $([ -f "$STUDIO_DB" ] && lsof -i :5432 >/dev/null 2>&1 && echo "✅ 运行中" || echo "❌ 未运行")" +echo " - Qdrant: $(curl -s http://localhost:6333/health 2>/dev/null | grep -q "ok" && echo "✅ 运行中" || echo "❌ 未运行")" +echo " - MongoDB: $(mongosh --quiet --eval "db.runCommand({ping:1})" 2>/dev/null | grep -q "ok" && echo "✅ 运行中" || echo "❌ 未运行")" +echo "" +echo " MarkBase Core (文件管理):" +echo " - SQLite: $([ -f "$MARKBASE_DB" ] && echo "✅ 就绪" || echo "❌ 缺失")" +echo "" + +echo "================================================================================ +" \ No newline at end of file