FastAPIは、その速度、開発者フレンドリーな機能、そして自動的なOpenAPIスキーマ生成で知られる、最新のPythonフレームワークです。この記事では、FastAPI、dbmate、PugSQL、PropelAuth、Pydantic、そしてnanoidを用いた完全なバックエンド例を作成します。このバックエンド例は、マルチテナント対応の「ブックマークアグリゲーター」で、ユーザーはURLをブックマークし、チームと共有することができます。データベースは、データベースマイグレーションのシンプルな管理を提供するdbmateを使用して設定されています。PugSQLはデータベースとのやり取りに使用され、個別のファイルでプレーンSQLを使用できます。PropelAuthは、すぐに使えるB2B認証に使用され、マルチテナントの組織チェックとユーザーロールを処理します。Pydanticはデータ検証に使用され、入力データの妥当性を保証します。nanoidは短く一意なIDの生成に使用されます。バックエンドはFastAPIを使用して設定され、ブックマークの作成と取得のためのルートが用意されています。PropelAuthは認証とマルチテナント機能の追加に使用されます。最後に、データベーススキーマはユーザーIDと組織IDを含めるように更新され、クエリもこれらのフィールドを含めるように更新されます。
dev.to
FastAPI in Prod: Handling DB migrations, auth, and more
