Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python “迁移”;经理;从Flask脚本到Flask CLI_Python_Flask - Fatal编程技术网

Python “迁移”;经理;从Flask脚本到Flask 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

我不太清楚如何将这个简单的旧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', 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时,还不清楚是否需要它