Files
moto-adv-website/create_admin.py

26 lines
974 B
Python

import os
from app import create_app
from app.extensions import db
from app.models import User
def create_admin():
app = create_app()
with app.app_context():
admin_email = os.environ.get('ADMIN_EMAIL')
admin_nickname = os.environ.get('ADMIN_NICKNAME')
admin_password = os.environ.get('ADMIN_PASSWORD')
if not (admin_email and admin_nickname and admin_password):
print("Missing ADMIN_EMAIL, ADMIN_NICKNAME, or ADMIN_PASSWORD in environment.")
return
if User.query.filter_by(email=admin_email).first():
print(f"Admin with email {admin_email} already exists.")
return
user = User(nickname=admin_nickname, email=admin_email, is_admin=True, is_active=True)
user.set_password(admin_password)
db.session.add(user)
db.session.commit()
print(f"Admin user {admin_nickname} <{admin_email}> created.")
if __name__ == "__main__":
create_admin()