[yeonpil] flow

‍서산·2022년 11월 18일
0
  1. gcp 서버 띄우기 (+mysql)

  2. secrets.json 파일 작성
    mysql에 대한 정보를 저장하기 위함

  3. database.py 파일 작성
    secrets.json에 저장된 정보를 바탕으로 DB_URL 작성

  4. models.py 파일 작성
    예시로 하나의 테이블을 만들기

class User(Base):
    __tablename__ = "user"

    id = Column(Integer, primary_key=True, index=True)
    user_name = Column(String(32))
    user_email = Column(String(32))
  1. main.py 파일 작성
    아무것도 없이 실행시켜본다 (db가 만들어져야 정상)
    (실행은 C:\Users\hs922\Desktop\FastAPI\fastapi\Scripts>activate.bat)
    터미널에서 아래 코드를 작성해 db가 제대로 있는지 확인
mysql -uroot -p
use [secrets.json에 작성한 테이블명]
show tables
  1. models.py에 테이블 추가 작성
    db 구조를 짜고 원하는 테이블을 추가로 작성한다.

  2. schemas.py 파일 작성
    이걸 먼저 쓸 필요는 없는데 더미데이터를 넣기가 편함

class User(BaseModel):

    user_name : str
    user_email : str

    memos : List[Memo] = []
    class Config:
        orm_mode = True
  1. main.py에서 더미데이터 추가
@app.post("/users")
async def create_user(request:schemas.User, db:Session=Depends(get_db)):
    new_user = models.User(user_name=request.user_name,user_email=request.user_email)
    db.add(new_user)
    db.commit()
    db.refresh(new_user)
    return new_point
  1. main.py에서 db정보 불러오기
@app.get("/users")
async def get_all_users(db:Session=Depends(get_db)):
    return db.query(models.User).all()
  1. 그 이후엔 테이블 추가/GET/POST/PUT/DELETE 등 자유롭게 진행

0개의 댓글