![]() | |
Drone Aquila16 FPV Kit LiteRadioWaktu Penerbangan (4.35V-3.4V) : 8 menit. Bahan Bingkai : Hitam PA12. Googles : FPV VR03. Motor : 1102|18000KV. Berat : 2000 gram Free Klik Disini ! |
Di tutorial ini kita akan belajar cara membuat koneksi database pada FastAPI Framework menggunakan database MYSQL.
Pastikan Anda telah berada pada mode python virtual environment. Ikuti langkah-langkah berikut:
pip install fastapi
pip install sqlalchemy
pip install pymysql
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmakerSQLALCHEMY_DATABASE_URL = "mysql+pymysql://admin:admin@localhost:3306/fastapi"
engine = create_engine(SQLALCHEMY_DATABASE_URL)
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)Base = declarative_base()
def get_db():
db = SessionLocal()
try:
yield db
finally:
db.close()
from db_config import Base
from sqlalchemy import Column, Integer, Stringclass Users(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
username = Column(String, unique=True, index=True)
email = Column(String, unique=True, index=True)
from fastapi import FastAPI, Depends
from db_config import get_db
from models import Users
from sqlalchemy.orm import Sessionapp = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}@app.get("/users")
def get_all_users(db: Session=Depends(get_db)):
users = db.query(Users).all()
return users
Depends
decorator. Anda juga dapat memanfaatkan framework seperti Dependency Injector
untuk skenario yang lebih kompleks.