Files
Aislo/check_db.py
T
2026-07-10 16:41:22 +09:00

83 lines
2.6 KiB
Python

"""DB 상태 확인 스크립트."""
import asyncio
import aiomysql
async def check_db():
"""DB 테이블 목록 및 구조 확인."""
conn = await aiomysql.connect(
host="dsm.chemifactory.com",
port=53306,
user="ctnt_root",
password="Umsang6595!!",
db="aislo_db",
charset="utf8mb4",
)
try:
async with conn.cursor() as cur:
# 1. 테이블 목록
print("=" * 60)
print("【존재하는 테이블】")
print("=" * 60)
await cur.execute("SHOW TABLES")
tables = await cur.fetchall()
for (table_name,) in tables:
print(f" - {table_name}")
# 2. upload_sessions 테이블 확인
print("\n" + "=" * 60)
print("【upload_sessions 테이블 구조】")
print("=" * 60)
try:
await cur.execute("DESCRIBE upload_sessions")
columns = await cur.fetchall()
for row in columns:
print(f" {row}")
except Exception as e:
print(f" ❌ 테이블 없음: {e}")
# 3. upload_chunks 테이블 확인
print("\n" + "=" * 60)
print("【upload_chunks 테이블 구조】")
print("=" * 60)
try:
await cur.execute("DESCRIBE upload_chunks")
columns = await cur.fetchall()
for row in columns:
print(f" {row}")
except Exception as e:
print(f" ❌ 테이블 없음: {e}")
# 4. input_files 테이블 확인
print("\n" + "=" * 60)
print("【input_files 테이블 구조】")
print("=" * 60)
try:
await cur.execute("DESCRIBE input_files")
columns = await cur.fetchall()
for row in columns:
print(f" {row}")
except Exception as e:
print(f" ❌ 테이블 없음: {e}")
# 5. projects 테이블 확인
print("\n" + "=" * 60)
print("【projects 테이블 구조】")
print("=" * 60)
try:
await cur.execute("DESCRIBE projects")
columns = await cur.fetchall()
for row in columns:
print(f" {row}")
except Exception as e:
print(f" ❌ 테이블 없음: {e}")
finally:
conn.close()
if __name__ == "__main__":
asyncio.run(check_db())