在应用程序上下文之外创建数据库

发布于 2021-01-29 14:11:06

我有一个像这样的应用程序工厂

db = SQLAlchemy()

def create_app(environment):
  app = Flask(__name__)
  app.config.from_object(config[environment])

  db.init_app(app)
  # ... etc

  return app

然后,我有一个脚本,可以在应用程序上下文之外获取CSV。该脚本是一个cron,每x小时运行一次

我想以某种方式更新应用程序正在使用的sqlite数据库。这可能吗?

关注者
0
被浏览
117
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    Flask-SQLAlchemy只需要一个应用程序上下文即可运行。您可以手动创建应用上下文。

    app = create_app(env)
    ctx = app.app_context()
    ctx.push()
    
    # your code here
    
    ctx.pop()
    

    这来自这里这里的文档。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看