#!/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 "================================================================================ "