Python 将Flask调度程序与Flask迁移和Flask脚本集成
我不清楚如何在同一个数据库上集成我的模型、使用flask脚本和计划的作业。在Scheduler中,似乎有一些工作要做,它可以为您创建数据库 当我运行Python 将Flask调度程序与Flask迁移和Flask脚本集成,python,flask,apscheduler,flask-migrate,flask-script,Python,Flask,Apscheduler,Flask Migrate,Flask Script,我不清楚如何在同一个数据库上集成我的模型、使用flask脚本和计划的作业。在Scheduler中,似乎有一些工作要做,它可以为您创建数据库 当我运行python manage.py db init时,它将创建一个带有apscheduled_作业表的数据库。现在,如果我运行python manage.py db migrate我会得到错误: sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) UNIQUE constraint faile
python manage.py db init
时,它将创建一个带有apscheduled_作业表的数据库。现在,如果我运行python manage.py db migrate
我会得到错误:
sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) UNIQUE constraint failed: apscheduler_jobs.id [SQL: 'INSERT INTO apscheduler_jobs (id, next_run_time, job_state) VALUES (?, ?, ?)'] [parameters: ('job1', 1505317109.041658, <memory at 0x000001AD6754E288>)]
我的项目的布局如下所示:
在intel\\u init\u.py
中,如下所示:
from flask import Flask
from flask_apscheduler import APScheduler
from .models import db
app = Flask(__name__)
app.config.from_object('config.Config')
db.init_app(app)
scheduler = APScheduler()
scheduler.init_app(app)
scheduler.start()
manage.py
from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand
from intel_app import app, db
migrate = Migrate(app, db)
manager = Manager(app)
manager.add_command('db', MigrateCommand)
if __name__ == '__main__':
manager.run()
编辑:我将schedule.start()
从intel\\u init\uuuuuuuuuuuuuupy
移动到run.py
模块,它只工作一次,因此我停止应用程序,然后再次重新启动应用程序,得到与上面相同的错误
from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand
from intel_app import app, db
migrate = Migrate(app, db)
manager = Manager(app)
manager.add_command('db', MigrateCommand)
if __name__ == '__main__':
manager.run()