Closed3
Alembic で生成した SQLModel マイグレーションファイルで `NameError: name 'sqlmodel' is not defined` になる問題
Python の DB マイグレーションライブラリの Alembic で SQLModel のマイグレーションファイルを生成した際、生成したファイルにて NameError: name 'sqlmodel' is not defined
のエラーが発生していたので解決したい
生成したマイグレーションファイルを見ると以下の import 文になっていて sqlmodel が import できていない
# import されているのは 以下のみ
import sqlalchemy as sa
from alembic import op
以下の記事に解決方法が書いてあった
alembic init
で生成される script.py.mako
にimport sqlmodel
を追加すれば良いらしい
"""${message}
Revision ID: ${up_revision}
Revises: ${down_revision | comma,n}
Create Date: ${create_date}
"""
from alembic import op
import sqlalchemy as sa
import sqlmodel # <= ここ
${imports if imports else ""}
Alembic 公式ページによると script.py.mako
はマイグレーションファイルのテンプレートなので、何か追加したい場合はここを編集すれば良いらしい。
This is a Mako template file which is used to generate new migration scripts. Whatever is here is used to generate new files within versions/.
ref: https://alembic.sqlalchemy.org/en/latest/tutorial.html
このスクラップは2023/04/07にクローズされました