繁体   English   中英

部署到Heroku时如何忽略GitHub存储库中的文件?

[英]How to ignore a file from GitHub repo when deploying to Heroku?

我在Heroku上有一个与GitHub链接的Node.js应用。 问题是每次我将master分支部署到Heroku时,整个应用程序都会在Heroku上被覆盖。

通常,这很好,但是在根文件夹中有一个数据库文件,该文件通过聊天应用程序不断更新,并且在每次部署时都会重置。 如果运行主脚本时不存在,则将自动生成SQLite数据库。

我的问题是如何使SQLite数据库文件成为Heroku应用程序中唯一的持久文件,而不会被GitHub上master分支的部署覆盖。

我尝试添加.slugignore文件并在其中包括database.sqlite

如您.slugignore ,为了回答您的问题,您可以使用.slugignore file部署到Heroku时忽略文件

但是,这不能解决您的问题。 Heroku的文件系统是短暂的 每当您的dyno重新启动时,对它所做的任何更改都将丢失。 经常发生 (每天至少一次)。 结果,即使将database.sqlite添加到.slugignore ,您的数据也会丢失。

解决方案是使用客户端服务器数据库而不是基于文件的数据库(如SQLite)。 Heroku Postgres是一个相当免费的免费套餐。 如果不想使用PosgreSQL,可以选择另一个数据库

无论您选择哪种数据库,我都建议您也切换到开发中的同一数据库。 数据库系统不是彼此的直接替代品,在尝试部署到生产环境时,您不想发现差异。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM