FastAPI は Python ベースのフレームワークで、その名の通り API を実装するのにうってつけです。軽量で非常に高速なフレームワークですが、FastAPI そのものには DB のシードやマイグレーションといった機能はなく、SQLAlchemy や Alembic など、他のライブラリを組み合わせて使うことが前提となります。 今回は、FastAPI で MySQL(厳密には MariaDB)を用いる際に、どのような実装が必要になってくるのかを見ていきたいと思います。セットアップは Docker コンテナ上で行います。 ※ 最終成果物は こちら のリポジトリにアップしています。 ファイル・ディレクトリ構成概観 まずはじめに、ファイル・ディレクトリ構成を示します。 ├── .env.development ├── app │ ├── cruds │ │ ├── __ini
![FastAPI x MySQL on Docker ~ マイグレーション・API作成 ~](https://cdn-ak-scissors.b.st-hatena.com/image/square/46d0220dfd759d97b1b130d82509b2a23146b0af/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--fnqmzcLM--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3AFastAPI%252520x%252520MySQL%252520on%252520Docker%252520~%252520%2525E3%252583%25259E%2525E3%252582%2525A4%2525E3%252582%2525B0%2525E3%252583%2525AC%2525E3%252583%2525BC%2525E3%252582%2525B7%2525E3%252583%2525A7%2525E3%252583%2525B3%2525E3%252583%2525BBAPI%2525E4%2525BD%25259C%2525E6%252588%252590%252520~%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3A%2525E5%2525B7%2525A3%2525E7%2525B1%2525A0%252520%2525E6%252582%2525A0%2525E8%2525BC%252594%252520%25252F%252520Yusuke%252520Sug...%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2pzVlBSbmk4Y1FOY0FiaXlfUzVOakQtejl5VnI3RFdfbk1qQkhYPXMyNTAtYw%3D%3D%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png)