Files

51 lines
1.7 KiB
Python
Raw Permalink Normal View History

#!/usr/bin/env python
"""Seed database with sample member data."""
import asyncio
from sqlalchemy import select
from src.database import async_session_maker
from src.models.member import Member
async def seed_database():
"""Create sample member if it doesn't exist."""
async with async_session_maker() as session:
# Check if sample member already exists
result = await session.execute(
select(Member).where(Member.email == "jane.doe@example.com")
)
existing_member = result.scalar_one_or_none()
if existing_member:
print("✓ Sample member already exists")
print(f" ID: {existing_member.id}")
print(f" Name: {existing_member.first_name} {existing_member.last_name}")
print(f" Email: {existing_member.email}")
return
# Create sample member with minimal required data
# Demonstrates that only firstName is required
sample_member = Member(
first_name="Jane",
last_name="Doe",
email="jane.doe@example.com",
# All other fields (street, zip, city, country, phone) are None
)
session.add(sample_member)
await session.commit()
await session.refresh(sample_member)
print("✓ Sample member created successfully!")
print(f" ID: {sample_member.id}")
print(f" Name: {sample_member.first_name} {sample_member.last_name}")
print(f" Email: {sample_member.email}")
print(f" Created at: {sample_member.created_at}")
if __name__ == "__main__":
print("Seeding database...")
asyncio.run(seed_database())
print("Done!")