Python “迁移”;经理;从Flask脚本到Flask CLI
我不太清楚如何将这个简单的旧Flask脚本manage.py迁移到Flask 0.11中提供的CLI+Python “迁移”;经理;从Flask脚本到Flask CLI,python,flask,Python,Flask,我不太清楚如何将这个简单的旧Flask脚本manage.py迁移到Flask 0.11中提供的CLI+ from flask_script import Manager from flask_migrate import Migrate, MigrateCommand from app import app, db migrate = Migrate(app, db) manager = Manager(app) manager.add_command('db', MigrateComma
from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand
from app import app, db
migrate = Migrate(app, db)
manager = Manager(app)
manager.add_command('db', MigrateCommand)
if __name__ == "__main__":
manager.run()
它是这样使用的,带有:
python manage.py db migrate
以下是我能做到的:
import click
from flask_migrate import Migrate, MigrateCommand
from app import app, db
@app.cli.command("db")
@click.argument("migration_command")
def handle_command(migration_command):
print("Handling command {}".format(migration_command))
但在跑步时:
python manage.py db migrate
但是似乎从未调用过handle\u命令
,而且db migrate
命令似乎没有运行
此外,Flask CLI的等效功能是什么:
if __name__ == "__main__":
manager.run()
因为manager
不再可用?如果我将其替换为app.run()
,它似乎会忽略所有CLI参数,并且不会调用handle\u命令
另外,在以下方面如何MigrateCommand
:
manager.add_command('db', MigrateCommand)
我假定is为db
创建了可用命令的枚举?使用Flask CLI时,在哪里传递迁移命令?在使用Flask CLI时,还不清楚是否需要它