Python heroku sqlite3现有表不存在

2024-10-02 10:18:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用Flask将SQLite数据库移动到Heroku,以便可以从一些设备访问它。我正在将数据库推送到我在本地创建的Heroku,因此我知道该表存在。在

客户端.py

import requests, json
url = "https://someidijustmadeup.herokuapp.com/select"
j = {}
j["sql"] = "SELECT * FROM COMICS"
r = requests.get(url, json = j)
print("Status Code", r.status_code)
rJson = json.loads(r.content.decode("utf-8"))
print(len(rJson))

服务器.py

^{pr2}$

executeSqlRequest只查询数据库。实际的Flask应用程序很好,我可以连接到它并运行查询。在

信息

  1. 数据库文件确实存在并且正在连接,我已经检查过了。在
  2. 我在Heroku服务器上远程运行了cat database.db,在输出中我可以看到数据库中的行,因此我知道数据在那里。它还显示了表的SQL。在

Tags: pyhttpsimport服务器数据库jsonurl客户端
1条回答
网友
1楼 · 发布于 2024-10-02 10:18:15

Heroku dyno有一个ephemeral filesystem:每当dyno重新启动时,您所做的任何更改都将丢失,happens frequently(至少每天一次)。由于SQLite是基于文件的数据库,因此它与Heroku不兼容。在

好消息是Heroku对像PostgreSQL这样的客户机服务器数据库有很好的支持。实际上,默认情况下它提供了一个PostgreSQL databaseDATABASE_URL环境变量将为您提供连接到该数据库的坐标。在

如果Postgres不是你的速度,你可以从插件列表中选择another data store。在

相关问题 更多 >

    热门问题