Flask-Migrate: сбой при запуске «flask db init»Python

Программы на Python
Anonymous
Flask-Migrate: сбой при запуске «flask db init»

Сообщение Anonymous »

Я пытаюсь использовать Flask-Migrate в своем проекте Flask, но столкнулся с ошибкой.
Я установил Flask-Migrate и добавил необходимый код, но когда я запускаю «flask db init», он не может найти мою базу данных модели, которые я определил.
Это структура моего проекта:

Код: Выделить всё

sample_project/
├── __init__.py
├── api.py
└── db_models/
├── __init__.py
├── db.py
└── sample_model.py
В моем api.py:

Код: Выделить всё

def create_app(test_config=None):
migrate = Migrate()
app = Flask(__name__, instance_relative_config=True)

if test_config is None:
# load the instance config, if it exists, when not testing
app.config.from_object(os.environ['APP_SETTINGS'])
else:
# load the test config if passed in
app.config.from_mapping(test_config)

# ensure the instance folder exists
try:
os.makedirs(app.instance_path)
except OSError:
pass

db.init_app(app)
migrate.init_app(app, db)

with app.app_context():
db.create_all()

@app.route('/test', methods=['POST'])
def test():

return "Flask app is running"
return app

if __name__ == '__main__':
app = create_app()
app.run(debug=True, host='0.0.0.0')
В моем db.py:

Код: Выделить всё

from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()
В моем sample_model.py:

Код: Выделить всё

from .db import db

class SampleModel(db.Model):
__tablename__ = 'analysis_fault_result'

id: Mapped[int] = mapped_column(primary_key=True)
name: Mapped[str]
age: Mapped[int]

Когда я бегаю

Код: Выделить всё

flask db init
Я получил следующую ошибку:

Код: Выделить всё

Error: While importing 'app.api', an ImportError was raised:

Traceback (most recent call last):
File "/usr/local/lib/python3.12/site-packages/flask/cli.py", line 245, in locate_app
__import__(module_name)
File "/app/api.py", line 5, in 
from sample_model.db import db
ModuleNotFoundError: No module named 'sample_model'
Есть идеи?

Подробнее здесь: https://stackoverflow.com/questions/787 ... -init-fail

Вернуться в «Python»