はじめに
このドキュメントでは、Python のマイグレーションツール「Alembic」を使って、MySQL データベースのスキーマ管理を始めるための初期設定手順を紹介します。
個人の備忘録程度の走り書きとなっておりますが、温かい目で見守っていただければ幸いです。
書こうと思ったきっかけ
受講しているITスクールでバックエンドの作業を担当している中で、実際に開発プロジェクトで Alembic を使おうとしたとき、最初の設定手順や alembic.ini
の書き方でつまずいた経験がありました。
自分自身の備忘録として、また他の人の参考にもなるように、基本的な設定手順を整理しておこうと思ったのがきっかけです。
Alembic を使ったマイグレーション管理の初期設定手順
Python のマイグレーションツール「Alembic」を使って、MySQL データベースのスキーマ管理を始めるための初期設定手順を以下にまとめます。
1. Alembic のインストール
まず、Alembic を Python 環境にインストールします。
pip install alembic
2. Alembic の初期化
方法1:マイグレーションディレクトリを作成する場合
alembic init migrations
このコマンドで migrations/
ディレクトリが作成され、必要なテンプレートファイルが展開されます。
方法2:カレントディレクトリに初期化する場合
alembic init .
プロジェクト直下に Alembic 関連のファイルを展開したい場合はこちらを使用します。
3. 設定ファイル(alembic.ini)の編集
初期化すると alembic.ini
が作成されるので、以下のように接続先のデータベース情報を設定します。
sqlalchemy.url = mysql+pymysql://root:root-password@host:port/database
設定例:
sqlalchemy.url = mysql+pymysql://root:mysecretpassword@localhost:3306/mydatabase
この設定により、Alembic は指定した MySQL データベースに接続し、マイグレーションを実行できるようになります。
補足
- Alembic は SQLAlchemy と連携して使うのが一般的です。
-
env.py
やversions/
フォルダも後続の作業で活用します。 - 初期設定が完了したら、モデルの変更に応じてマイグレーションファイルを生成し、
upgrade
コマンドでデータベースに反映していきます。
今後のステップ:
- SQLAlchemy モデルの定義
-
alembic revision --autogenerate -m "initial"
の実行 -
alembic upgrade head
によるスキーマ適用
まとめ
Alembic を使うことで、SQL の知識がそこまで深くなくても、データベーススキーマの変更を安全かつバージョン管理できるようになります。
最初は設定がやや複雑に感じるかもしれませんが、一度仕組みを理解してしまえば、非常に便利なツールです。
今回の手順が、Alembic の導入に少しでも役立てば嬉しいです!