ImportError: cannot import name 'MigrateCommand' from 'flask_migrate'
Делаю приложение на flask на виртуальной машине Linux Ubuntu. Появилась необходимость создать возможность миграции базы данных. Делаю это с помощью flask-migrate, однако, не могу сделать первоначальный снимок своей базы. Выдаёт ошибку. Ниже прикрепляю код. Если нужен еще какой-то - пишите, с радостью предоставлю. Если будет лучше для понимания кода, то вот, делал по этому видео на YouTube
Запускаю снимок командой python manage.py db init
Файл app.py
from flask import Flask
from config import Configuration
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate, MigrateCommand
from flask_script import Manager
from flask_admin import Admin
from flask_admin.contrib.sqla import ModelView
app = Flask(__name__)
app.config.from_object(Configuration)
db = SQLAlchemy(app)
migrate = Migrate(app, db)
manager = Manager(app)
manager.add_command('db', MigrateCommand)
Файл config.py
class Configuration(object):
DEBUG = True
SQLALCHEMY_TRACK_MODIFICATIONS = False
SQLALCHEMY_DATABASE_URI = 'mysql+mysqlconnector://adm:adm@localhost/test2'
SECRET_KEY = 'my-key'
Файл manage.py
from app import manager
from main import *
if __name__ == '__main__':
manager.run()
Текст ошибки
(ENV) roman@roman-VirtualBox:~/Desktop/flask_blog/app$ python manage.py db init
Traceback (most recent call last):
File "manage.py", line 1, in <module>
from app import manager
File "/home/roman/Desktop/flask_blog/app/app.py", line 5, in <module>
from flask_migrate import Migrate, MigrateCommand
ImportError: cannot import name 'MigrateCommand' from 'flask_migrate' (/home/roman/Desktop/flask_blog/ENV/lib/python3.8/site-packages/flask_migrate/__init__.py)
Ответы (1 шт):
Автор решения: Andrew Nedzelsky
→ Ссылка
Дело в том, что то видео слегка устарело. Теперь flask_migrate обладает стандартным списком команд. Все тут: https://flask-migrate.readthedocs.io/en/latest/