import asyncio from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession from sqlalchemy.orm import sessionmaker from database.models import Base, Category, Service from decimal import Decimal DATABASE_URL = "postgresql+asyncpg://postgres:postgres@localhost:5432/growthpanel" async def seed_data(): engine = create_async_engine(DATABASE_URL, echo=True) async_session = sessionmaker(engine, class_=AsyncSession, expire_on_commit=False) async with async_session() as session: async with session.begin(): # Create Categories cat_list = [ Category(name="Instagram - Followers", slug="instagram-followers", icon="📸", sort_order=1), Category(name="Instagram - Likes", slug="instagram-likes", icon="❤️", sort_order=2), Category(name="TikTok - Views", slug="tiktok-views", icon="📱", sort_order=3), Category(name="YouTube - Subscribers", slug="youtube-subscribers", icon="📺", sort_order=4), ] session.add_all(cat_list) await session.flush() # Create Services services_list = [ Service( category_id=cat_list[0].id, name="Instagram Followers [Real & Active] - 30 Days Refill", price_per_1000=Decimal("1.50"), min_quantity=100, max_quantity=100000, average_time="1-6 Hours", status="active" ), Service( category_id=cat_list[0].id, name="Instagram Followers [Standard Quality] - No Refill", price_per_1000=Decimal("0.85"), min_quantity=100, max_quantity=500000, average_time="Instant", status="active" ), Service( category_id=cat_list[1].id, name="Instagram Real Likes - Fast Delivery", price_per_1000=Decimal("0.45"), min_quantity=50, max_quantity=50000, average_time="0-15 Min", status="active" ), Service( category_id=cat_list[2].id, name="TikTok Views [Max 10M] - High Speed", price_per_1000=Decimal("0.05"), min_quantity=1000, max_quantity=10000000, average_time="Instant", status="active" ) ] session.add_all(services_list) await session.commit() print("Database seeded successfully!") if __name__ == "__main__": asyncio.run(seed_data())