1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

個人的備忘録:Alembic使うなら必読!alembic.iniの編集ポイントをまとめたみた

Posted at

はじめに

Alembicは、SQLAlchemyと連携してデータベースのスキーマ変更(マイグレーション)を管理するツールです。その設定の中心となるのが alembic.ini というファイルです。

個人の備忘録程度の走り書きとなっておりますが、温かい目で見守っていただければ幸いです。

ここでは、alembic.ini の主な項目について解説します。

参考にするコードは以下になります。


[alembic] セクション

  • script_location = migrations

    • マイグレーションスクリプトを保存するディレクトリを指定します。
    • 通常、migrations というディレクトリを使います。
  • prepend_sys_path = .

    • 現在の作業ディレクトリを sys.path に追加して、Pythonモジュールのパス解決を助けます。
  • version_path_separator = os

    • 複数のマイグレーションディレクトリを使う際の区切り文字をOS依存にします(例:Unixでは :, Windowsでは ;)。

コメントアウトされているが重要な設定

  • sqlalchemy.url = driver://user:pass@localhost/dbname

    • 実際に使うときは、ここに使用するDBの接続情報(ドライバー、ユーザー名、パスワード、ホスト、DB名など)を設定します。
  • file_template

    • マイグレーションファイルの命名規則を定義します。
    • 日付や時刻を含めた命名も可能で、履歴管理しやすくなります。

[post_write_hooks] セクション

  • 自動生成されたマイグレーションスクリプトに対して、整形ツールや静的解析ツールをかける設定です。
    • 例:
      • black(Pythonコード整形)
      • ruff(静的解析・自動修正)

ログ設定セクション

以下のセクションでは、ログ出力に関する設定を記述します。

  • [loggers], [handlers], [formatters]
    • AlembicやSQLAlchemyが出力するログの出力レベル(例:INFO, WARNING)や出力先(例:stderr)などを管理します。

開発時に編集すべき主な項目

  • sqlalchemy.url

    • 実際に使うDBに合わせて正確に設定する必要があります。
  • script_location

    • 自分のプロジェクト構成に応じて変更する場合があります。

まとめ

alembic.ini は Alembic を正しく動作させるための重要な設定ファイルです。

特に sqlalchemy.urlscript_location は必ずプロジェクトごとに適切に設定する必要があります。

その他の項目についても、必要に応じてカスタマイズすることで、より快適なマイグレーション管理が可能になります!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?