from argparse import ArgumentParser from pathlib import Path import sys ROOT = Path(__file__).resolve().parents[1] sys.path.insert(0, str(ROOT)) from app.database import SessionLocal # noqa: E402 from app.models import PersonRole, Personnel, Role # noqa: E402 def main() -> None: parser = ArgumentParser(description="Create or update the first manager account.") parser.add_argument("--phone", required=True, help="经理手机号") parser.add_argument("--name", required=True, help="经理姓名") args = parser.parse_args() with SessionLocal() as db: person = db.get(Personnel, args.phone) if person is None: person = Personnel(phone=args.phone) db.add(person) person.name = args.name if db.get(PersonRole, {"phone": args.phone, "role": Role.manager}) is None: db.add(PersonRole(phone=args.phone, role=Role.manager)) db.commit() print(f"manager ready: {args.name} {args.phone}") if __name__ == "__main__": main()