728x90
API를 만들어서 연결하는 함수 구현해보기
1. .py파일 생성
- todoapp폴더 하위에 새로운 main.py를 생성한다.(31번, 32번 페이지 참조)
2. todoapp폴더 하위에 database.py의 Base와 models.py를 import 한다.
import models
from database import engine
# models.py를 import 한다.
# database.py에서 Base 변수를 import 한다.
3. engine을 통해 데이터베이스와 연결하고 데이터베이스에 선언한 테이블을 생성한다
models.Base.metadata.create_all(bind=engine)
메타데이터는 데이터를 기술하는 데이터를 설명하며, 메타데이터는 구성된 테이블, 열, 제약 조건 및 기타 객체 정보 등을 말한다.
4. 테이블을 만들 함수 생성
from fastapi import FastAPI
import models
from database import engine
app = FastAPI()
models.Base.metadata.create_all(bind=engine)
@app.get("/")
async def create_database():
return {"Database": "Created"}
5. main.py가 있는 폴더로 이동 후 FastAPI 실행
- fastapi 폴더 하위에 TodoApp 폴더를 만들고 앞서 생성한 .py 파일들이 있으니 터미널을 통해서 TodoApp 폴더로 이동해야한다.
현재 main.py의 경로 주소 => /Users/user2/Documents/tool_collection/fastapi/TodoApp
- uvicorn main:app --reload 실행
6. 데이터베이스 생성 확인
- database.py에서 연결하려고 했던 데이터베이스를 확인 할 수 있다.
SQLALCHEMY_DATABASE_URL = "sqlite:///./todos.db"
728x90
SMALL
'Develop > FastAPI' 카테고리의 다른 글
FastAPI Installation of SQLite3 Terminal (Mac) - 34 (0) | 2022.12.30 |
---|---|
FastAPI Installation of SQLite3 Terminal (Windows) - 34 (0) | 2022.12.30 |
FastAPI DataBase Table(Model) - 32 (0) | 2022.12.30 |
FastAPI Pydantic 정리(데이터 유효성 / 파싱 확인) (2) | 2022.12.30 |
FastAPI ORM SQLAlchemy(Sqllite) - 31 (0) | 2022.12.29 |