Files
2026-05-29 08:11:07 +09:00

38 lines
1.4 KiB
Python

import asyncio
from sqlalchemy import select
from database import engine, async_session
from models import Base, Sample
async def init_db():
async with engine.begin() as conn:
await conn.run_sync(Base.metadata.create_all)
async def seed():
await init_db()
async with async_session() as session:
result = await session.execute(select(Sample))
existing = result.scalars().all()
if existing:
print(f"이미 {len(existing)}건의 샘플 데이터가 존재합니다. seed를 건너뜁니다.")
return
samples = [
Sample(title="첫 번째 샘플", content="안녕하세요, 첫 번째 게시글입니다.", author="홍길동"),
Sample(title="두 번째 샘플", content="PostgreSQL 외부 연결 테스트 중입니다.", author="김철수"),
Sample(title="세 번째 샘플", content="FastAPI와 Vue로 게시판을 만듭니다.", author="이영희"),
Sample(title="네 번째 샘플", content="데이터베이스 연동이 잘 되네요!", author="박민수"),
Sample(title="다섯 번째 샘플", content="화면에 표시되는지 확인해보세요.", author="최지은"),
]
session.add_all(samples)
await session.commit()
print(f"{len(samples)}건의 샘플 데이터가 INSERT 되었습니다.")
if __name__ == "__main__":
asyncio.run(seed())