Heroku:更新磁盘上的sqlite数据库

时间:2016-02-17 11:55:31

标签: django database sqlite heroku

我有一个django应用程序(一个PoC,而不是最终产品),后端库使用SQLite数据库来获取处理所需的数据 - 只读。 SQLite数据库是repo的一部分,并在通常的部署过程中部署到Heroku。这很好。

现在我已收到通过django管理界面允许更新此数据库的要求。请注意,这不是一个django托管数据库,所以从django的角度来看,这只是一个二进制文件。

我可以允许FileField来处理这个问题,覆盖数据库;我想这可以在自我管理的服务器上正常工作,但我在Heroku上,你有Disk Backed Storage强加的约束(注意虽然在SQLite用作web应用数据库的上下文中解释了这一点,这不是我的情况:我的SQLite不是我的webapp数据库。但是这些限制同样适用:我不能指望写入webapp的文件系统并保证新数据实际上可以被正在运行的webapp看到<) / p>

我可以想到其他替代品,都有缺点:

  • 将SQLite数据库放在另一台服务器(“媒体”服务器)中,并远程访问它:这将严重影响性能。此外,通过网络访问SQLite数据库does not seem easy
  • 为客户创建部署脚本,以通过常用的部署机制上传数据库。由于客户在技术上不合适,而且我无法提供直接支持,这是不可行的。
  • 可能是最简单的选择:从Heroku迁移到自我管理的服务器,这样我就可以实现这个快速而肮脏的上传而不会有太多复杂的情况。

你以前遇到过这种问题吗?你有其他建议吗?

0 个答案:

没有答案