从 Heroku 下载 sqlite 数据库



我有一个工人在 Heroku 上每 2 小时运行一次 python 脚本。

问题是每次我从 git "提取"更改时。

sqlite3 数据库没有任何变化。

但是我确定程序正在运行,并且通过查看日志文件,数据库已更改。

heroku log

那么如何检索.db文件呢?

听起来你有点误解。Heroku 的 git 支持实际上是单向的;您可以使用它来推送要在服务器上运行的新代码,但不能使用它将文件从 Heroku 复制回本地树。

不幸的是,看起来没有一种很好的简单方法将文件从您的应用程序复制到本地机器; 您可以使用heroku run console获取bash shell,然后scp一个文件,但您将其"推出"出 Heroku,因此运行只能复制到具有有效 IP 地址的东西。

但是,如果您真的使用sqlite作为应用程序的存储,则会遇到更大的问题。您的应用程序在 Heroku 上的文件系统是短暂的,因为您所做的更改可以随时被清除。Heroku 将删除应用的本地存储,并随时重新开始。

正确的方法是使用 Heroku 的内置 Postgres 支持并将应用程序的数据存储在那里。它不仅会持续存在,而且您可以使用 Postgres 命令行工具直接访问它。

访问 heroku 控制台现在可以通过以下方式完成:

heroku run bash

然后我下载了Linux gDrive应用程序,并在本地文件夹中运行,将我的文件上传到Google云端硬盘。 https://olivermarshall.net/how-to-upload-a-file-to-google-drive-from-the-command-line/(跳过步骤 4 并使用如下所示的./运行./gdrive upload my_file.txt

heroku run console的另一个建议对我不起作用(运行Python Flask应用程序)

最新更新