【问题标题】:Working with a sql script in a Flask application在 Flask 应用程序中使用 sql 脚本
【发布时间】:2013-05-04 21:32:42
【问题描述】:

我已经创建了一个基本 Flask 应用程序的结构,我需要执行 sql 脚本的指导。我的文件夹结构是这样的:

-simpleblog(应用名称)

  flask (contains the virtual environment, 3 folders)
  app
    static (css, js)
    templates (html)
    __init__.py
  config.py
  run.py

我有一个sql脚本,定义了一张表,不知道放在哪里,怎么执行。我知道 sqlite3 是 python 的一部分,但我必须安装其他东西吗?

【问题讨论】:

  • 什么是 SQL 脚本?可以分享一下吗?

标签: python sql sqlite flask


【解决方案1】:

查看来自flask 网站的本教程,该教程解释了如何使用sqllite 数据库和执行sql 脚本以及建议的文件夹结构。通常,您可以创建一个 schema.sql 文件并将其放在主应用程序文件夹中。在您的示例中,您可以将其表示为:

app
    static (css, js)
    templates (html)
    __init__.py
    config.py
    run.py
    schema.sql # your sql script

http://flask.pocoo.org/docs/tutorial/schema/#tutorial-schema

要创建初始数据库,请使用它。但是您确实需要先安装 sqllite3。

http://flask.pocoo.org/docs/tutorial/dbinit/#tutorial-dbinit

基本上,它允许您通过运行以下命令来创建初始数据库:

sqlite3 /tmp/flaskr.db < schema.sql

让我们理解上面的命令。我们在 schema.sql 中有数据库创建脚本(CREATE、DROP 等)。我们将其作为 sqlite3 可执行文件的输入,并在 /tmp/flaskr.db 中创建数据库。注意:您可能需要先运行以下命令来生成一个空白的 flaskr.db 文件

touch /tmp/flaskr.db

【讨论】:

  • 这是我遵循的教程,我正在阅读它的 pdf 版本,但我错过了关于放置文件的位置。现在,关于执行脚本,我无法理解以下“可以通过将 schema.sql 文件传递​​到 sqlite3 命令中来创建这样的模式,如下所示:”如何在我的虚拟环境中安装 sqlite3?我尝试使用 pip 并失败了。
  • 好的,我已经开始工作了,非常感谢;让我问你,把这个db文件放在tmp文件夹有什么意义?我认为这是一个数据库驱动的应用程序,所以 db 文件是最重要的?另外,是否有一个 GUI 工具来查询这个数据库,只是为了方便。
  • 好问题。我认为本教程仅使用 tmp 文件夹进行演示,但实际上,您不会。本教程允许您使用我猜的 tmp 文件夹删除和重新创建 db 和 hnce。
猜你喜欢
  • 2018-07-28
  • 1970-01-01
  • 2021-11-09
  • 1970-01-01
  • 2019-10-15
  • 2016-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多