27 lines
731 B
Python
27 lines
731 B
Python
from sqlalchemy.orm import sessionmaker
|
|
|
|
from backend.models import Base, User
|
|
from backend.database import engine
|
|
from backend.security import get_password_hash
|
|
|
|
|
|
def recreate_db_with_admin():
|
|
# Drop and recreate all tables
|
|
Base.metadata.drop_all(bind=engine)
|
|
Base.metadata.create_all(bind=engine)
|
|
|
|
# Seed default admin user (username: admin, password: admin)
|
|
Session = sessionmaker(bind=engine)
|
|
db = Session()
|
|
try:
|
|
if not db.query(User).filter(User.username == 'admin').first():
|
|
db.add(User(username='admin', password_hash=get_password_hash('admin'), role='admin'))
|
|
db.commit()
|
|
finally:
|
|
db.close()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
recreate_db_with_admin()
|
|
|