42 行
1.1 KiB
Python
42 行
1.1 KiB
Python
from __future__ import annotations
|
|
"""创建初始管理员账号
|
|
Usage: cd hulai-admin-api && python -m scripts.create_admin_user
|
|
"""
|
|
import sys
|
|
import os
|
|
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
|
|
|
from app.database import SessionLocal, engine, Base
|
|
from app.models.user import AdminUser
|
|
from app.auth import hash_password
|
|
|
|
|
|
def main():
|
|
# Create tables if not exist
|
|
Base.metadata.create_all(bind=engine)
|
|
|
|
db = SessionLocal()
|
|
try:
|
|
existing = db.query(AdminUser).filter(AdminUser.username == "admin").first()
|
|
if existing:
|
|
print("管理员账号已存在")
|
|
return
|
|
|
|
user = AdminUser(
|
|
username="admin",
|
|
password_hash=hash_password("admin123"),
|
|
display_name="管理员",
|
|
role="admin",
|
|
is_active=True,
|
|
)
|
|
db.add(user)
|
|
db.commit()
|
|
print("管理员创建成功: admin / admin123")
|
|
print("⚠️ 请登录后立即修改密码!")
|
|
finally:
|
|
db.close()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|