9

alembic を使用してプロジェクトのデータベースのバージョンを制御する場合、env.py のコードの一部は次のようになります。

# add your model's MetaData object here
# for 'autogenerate' support
# from myapp import mymodel
# target_metadata = mymodel.Base.metadata
from al_test.models import metadata

target_metadata = metadata

「alembic Revision --autogenerate -m "Added user table"」を実行すると、次のエラーが表示されます: File "alembic/env.py", line 18, in from from al_test.models import metadata ImportError: No module named al_test.models

では、どのように質問を解決するのですか?ありがとう!

4

2 に答える 2

6

これは少し遅れている可能性があり、すでに問題を把握している可能性がありますが、問題は alembic/ ディレクトリがシステム パスの一部ではないことだと思います。つまり、次のようなことをする必要があります:

import sys
sys.path.append(path/to/al_test)

from al_test.models import metadata
于 2013-07-29T18:27:37.447 に答える
1

次のように env.py を更新して、Python がモジュールを検索するときに使用する sys.path に現在の作業ディレクトリを追加します。

import os
import sys
sys.path.append(os.getcwd())

from al_test.models import metadata
target_metadata = metadata
....
....
于 2020-03-06T17:16:53.410 に答える