seed user
This commit is contained in:
parent
ca55932a41
commit
c5d3c7f4c9
3 changed files with 49 additions and 10 deletions
38
backend/seed.py
Normal file
38
backend/seed.py
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
"""Seed the database with a dev user."""
|
||||
import asyncio
|
||||
import os
|
||||
from sqlalchemy import select
|
||||
|
||||
from database import engine, async_session, Base
|
||||
from models import User
|
||||
from auth import get_password_hash
|
||||
|
||||
DEV_USER_EMAIL = os.environ["DEV_USER_EMAIL"]
|
||||
DEV_USER_PASSWORD = os.environ["DEV_USER_PASSWORD"]
|
||||
|
||||
|
||||
async def seed():
|
||||
async with engine.begin() as conn:
|
||||
await conn.run_sync(Base.metadata.create_all)
|
||||
|
||||
async with async_session() as db:
|
||||
result = await db.execute(select(User).where(User.email == DEV_USER_EMAIL))
|
||||
user = result.scalar_one_or_none()
|
||||
|
||||
if user:
|
||||
user.hashed_password = get_password_hash(DEV_USER_PASSWORD)
|
||||
await db.commit()
|
||||
print(f"Updated dev user: {DEV_USER_EMAIL} / {DEV_USER_PASSWORD}")
|
||||
else:
|
||||
user = User(
|
||||
email=DEV_USER_EMAIL,
|
||||
hashed_password=get_password_hash(DEV_USER_PASSWORD),
|
||||
)
|
||||
db.add(user)
|
||||
await db.commit()
|
||||
print(f"Created dev user: {DEV_USER_EMAIL} / {DEV_USER_PASSWORD}")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(seed())
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue