gpt4 book ai didi

node.js - 部署后如何在 Heroku 中维护不在 git repo 中的文件

转载 作者:行者123 更新时间:2023-12-04 09:05:37 25 4
gpt4 key购买 nike

这是场景:我的 Node.js 应用程序在服务器上创建一个文件,将所有用户数据(不敏感)存储在名为 database.json 的文件中。 .
我目前有两个环境:

  • 我的本地机器,带有 database.json ,
  • 和我在 Heroku 上的生产环境,有自己的 database.json

  • 每次我推送我的应用程序的新版本,从我的机器到生产,我都不想更换生产 database.json文件与我在我的机器上的那个。为此,我使用了 .gitignore忽略此文件,因此此文件不在 GitHub 上,因为它是在应用程序执行中创建的
    但是每次我向 Heroku 推送一个新版本时,而不是保留旧版本 database.json文件,Heroku 删除它。看起来 Heroku 用从 Git 下载的文件夹完全覆盖了所有应用程序文件夹,而不是与已有的文件夹“merge ”。
    如何在 Heroku 上设置一个文件,用于保存不受 git push 影响的用户数据es 和部署?

    最佳答案

    How can I set up a file on Heroku that I can use to save user data that is not affected by git pushes and deploys?


    你不能。
    此外,这不仅仅是关于部署:您的文件也会在其他时间丢失。
    你的文件没有被 Git 覆盖; Heroku的 filesystem is ephemeral . dyno 重新启动时,对其所做的任何更改都将丢失。此 happens frequently (至少每天一次)无论您是否部署。
    您将需要更改保存数据的方式。我建议使用 real client-server database ,但您也可以将文件保存在 third-party object storage using something like Amazon S3Azure Blob Storage .

    关于node.js - 部署后如何在 Heroku 中维护不在 git repo 中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63457613/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com