Files
yixiaogao/database/view_all_users.py
2025-12-02 14:58:52 +08:00

68 lines
2.2 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
查看所有用户信息脚本
"""
import os
import sys
# 添加项目根目录到Python路径
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from database.user_database import UserDatabase
def main():
"""
主函数:查看所有用户信息
"""
print("=== 查看所有用户信息 ===")
try:
# 创建数据库实例 - 指定正确的数据库路径
db_path = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'backend', 'users.db')
print(f"使用数据库路径: {db_path}")
db = UserDatabase(db_path=db_path)
# 获取所有用户
print("\n正在查询用户信息...")
users = db.list_users(limit=1000)
if not users:
print("\n❌ 未找到任何用户")
return
print(f"\n✅ 共找到 {len(users)} 个用户:")
print("-" * 100)
print(f"{'用户ID':<10} | {'用户名':<20} | {'邮箱':<30} | {'状态':<10} | {'创建时间':<20}")
print("-" * 100)
# 显示用户信息(不包含密码哈希)
for user in users:
# 创建不包含密码哈希的安全用户信息
safe_user = {k: v for k, v in user.items() if k != 'password_hash'}
# 格式化输出
user_id = safe_user.get('user_id', '')
username = safe_user.get('username', '')
email = safe_user.get('email', '')
status = '正常' if safe_user.get('status') == 1 else '禁用' if safe_user.get('status') == 0 else '异常'
created_at = safe_user.get('created_at', '')
print(f"{user_id:<10} | {username:<20} | {email:<30} | {status:<10} | {created_at:<20}")
print("-" * 100)
print("\n✅ 用户信息查看完成")
except Exception as e:
print(f"\n❌ 发生错误: {e}")
import traceback
traceback.print_exc()
finally:
# 关闭数据库连接
if 'db' in locals():
print("\n关闭数据库连接...")
db.close()
if __name__ == "__main__":
main()