55 lines
1.6 KiB
Python
55 lines
1.6 KiB
Python
import os
|
|
import mysql.connector
|
|
from dotenv import load_dotenv
|
|
|
|
# 加载环境变量
|
|
load_dotenv("../../docker/.env")
|
|
|
|
# 数据库连接配置
|
|
DB_CONFIG = {
|
|
"host": "localhost",
|
|
"port": int(os.getenv("MYSQL_PORT", "5455")),
|
|
"user": "root",
|
|
"password": os.getenv("MYSQL_PASSWORD", "infini_rag_flow"),
|
|
"database": "rag_flow"
|
|
}
|
|
|
|
def get_db_connection():
|
|
"""创建数据库连接"""
|
|
return mysql.connector.connect(**DB_CONFIG)
|
|
|
|
def get_all_tables():
|
|
"""获取数据库中所有表的名称"""
|
|
try:
|
|
# 连接数据库
|
|
conn = get_db_connection()
|
|
cursor = conn.cursor()
|
|
|
|
# 查询所有表名
|
|
cursor.execute("SHOW TABLES")
|
|
tables = cursor.fetchall()
|
|
|
|
print(f"数据库 {DB_CONFIG['database']} 中的表:")
|
|
if tables:
|
|
for i, table in enumerate(tables, 1):
|
|
print(f"{i}. {table[0]}")
|
|
else:
|
|
print("数据库中没有表")
|
|
|
|
# 检查是否存在特定表
|
|
important_tables = ['document', 'file', 'file2document']
|
|
print("\n检查重要表是否存在:")
|
|
for table in important_tables:
|
|
cursor.execute(f"SHOW TABLES LIKE '{table}'")
|
|
exists = cursor.fetchone() is not None
|
|
status = "✓ 存在" if exists else "✗ 不存在"
|
|
print(f"{table}: {status}")
|
|
|
|
cursor.close()
|
|
conn.close()
|
|
|
|
except mysql.connector.Error as e:
|
|
print(f"数据库连接或查询出错: {e}")
|
|
|
|
if __name__ == "__main__":
|
|
get_all_tables() |