You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Heroku上Flask应用的something.db同步回GitHub仓库?

解决Heroku上SQLite数据库反向同步回GitHub的问题

因为Heroku部署时会完全拉取GitHub仓库的代码,空的something.db会直接覆盖线上已有数据。针对小项目的.db文件存储需求,手动同步是最直接可行的方案,步骤如下:

  • 拉取Heroku上的数据库文件到本地
    使用Heroku CLI的ps:copy命令,将线上的something.db复制到本地。注意替换你的应用名称,以及db文件在Heroku上的实际路径(比如Flask应用若把db放在instance目录下,路径就是/app/instance/something.db):

    heroku ps:copy /app/something.db ./something.db -a your-heroku-app-name
    
  • 验证本地数据库文件
    用SQLite工具确认拉取的文件包含最新数据,比如执行:

    sqlite3 something.db
    

    进入交互模式后,用.tables查看表结构,或用SELECT * FROM your_table;查询数据,确保同步结果正确。

  • 提交更新到GitHub
    将本地更新后的something.db提交并推送到GitHub仓库:

    git add something.db
    git commit -m "Sync latest SQLite data from Heroku"
    git push origin main
    

    (如果你的主分支是master,就把main替换为master)

  • 后续部署注意事项
    以后每次从GitHub重新部署前,先重复上述步骤,把Heroku上的最新数据库同步回GitHub,这样新部署的应用就会使用包含用户数据的something.db,不会再出现数据被覆盖的问题。

内容的提问来源于stack exchange,提问作者dynamic-stacker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 22:25:26