chore: initial baseline with P0-safety .gitignore
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
在正式服务器上执行:将 admin001 设为管理后台管理员
|
||||
运行方式:
|
||||
1. SSH 到堡垒机,再 SSH 到 10.90.5.110
|
||||
2. 进入部署目录:cd /opt/wecom-it-desk
|
||||
3. 执行:docker exec -i wecom_it_backend python /app/scripts/set_admin.py
|
||||
(如果脚本不在容器内,可先 docker cp 进去,或用下面的 SQL 方式)
|
||||
"""
|
||||
import sys
|
||||
import os
|
||||
|
||||
# 方法一:直接通过 SQLAlchemy 写入数据库(在容器内执行)
|
||||
from sqlalchemy import create_engine, text
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
import uuid
|
||||
|
||||
# 从环境变量读取数据库配置
|
||||
DB_URL = os.environ.get(
|
||||
"DATABASE_URL",
|
||||
"postgresql://wecom:wecom_secret_2026@postgres:5432/wecom_it_desk"
|
||||
)
|
||||
|
||||
engine = create_engine(DB_URL)
|
||||
Session = sessionmaker(bind=engine)
|
||||
session = Session()
|
||||
|
||||
# 检查 agents 表中是否已有 admin001
|
||||
result = session.execute(
|
||||
text("SELECT id, user_id, name, role FROM agents WHERE user_id = :uid"),
|
||||
{"uid": "admin001"}
|
||||
).fetchone()
|
||||
|
||||
if result:
|
||||
agent_id, user_id, name, role = result
|
||||
print(f"✅ 已存在记录:id={agent_id}, user_id={user_id}, name={name}, role={role}")
|
||||
if role != "admin":
|
||||
session.execute(
|
||||
text("UPDATE agents SET role = 'admin' WHERE user_id = :uid"),
|
||||
{"uid": "admin001"}
|
||||
)
|
||||
session.commit()
|
||||
print(f"✅ 已将 {user_id} 角色更新为 admin")
|
||||
else:
|
||||
print(f"ℹ️ 角色已经是 admin,无需修改")
|
||||
else:
|
||||
# 不存在则创建
|
||||
new_id = str(uuid.uuid4())
|
||||
session.execute(
|
||||
text(
|
||||
"INSERT INTO agents (id, user_id, name, status, current_load, max_load, role, skill_tags, created_at, updated_at) "
|
||||
"VALUES (:id, :uid, :name, 'offline', 0, 5, 'admin', '[]', NOW(), NOW())"
|
||||
),
|
||||
{"id": new_id, "uid": "admin001", "name": "系统管理员"}
|
||||
)
|
||||
session.commit()
|
||||
print(f"✅ 已创建管理员记录:id={new_id}, user_id=admin001, role=admin")
|
||||
|
||||
session.close()
|
||||
print("\n完成。")
|
||||
Reference in New Issue
Block a user