gpt4 book ai didi

ruby-on-rails - Heroku 应用程序的数据库管理

转载 作者:数据小太阳 更新时间:2023-10-29 06:33:27 26 4
gpt4 key购买 nike

我对 Rails 和 Heroku 都很陌生,但我正在认真考虑将其用作部署我的 Ruby/Rails 应用程序的平台。

我想使用 Heroku 的所有功能,所以我更喜欢 Heroku 管理的“嵌入式”PostgreSQL,而不是 Amazon RDS for MySQL 的插件,但如果无法在SQL 客户端...

我知道在一个制作精良的应用程序中你不需要访问数据库,但有一些情况(将行添加到配置表,查看未映射到 View 中的数据,更新一些列以解决调试问题,性能监控,运行报告等查询)当这可能很好时......

你是如何解决这个问题的?在由 Heroku 提供支持的真实应用中,您有什么体验?

谢谢!

最佳答案

我已经使用它大约一年了。我喜欢它提供的工作流程,但我发现无法访问数据真的很麻烦。您使用数据库的选项是:

Taps:理论上,您可以根据需要在本地创建数据库,并使用 taps 将模式和数据复制到 Heroku。在实践中,大多数时候它都非常棒。但是,在水龙头翻译我的一些专栏很差并且损坏了我的数据之后,我目前正在处理清理工作。

Heroku 控制台:对于所有常见的 ActiveRecord 东西来说完全没问题,但最接近数据库的是 ActiveRecord::Base.connection.execute "some sql"。当您发现自己对执行这样的 alter table 命令感到疑惑时,您就会知道自己有麻烦了。

他们还提供了一个“ bundle ”作为备份您的应用程序的方法。这使您可以下载所有代码以及数据库的 sql 转储。困难在于,由于没有直接的数据库访问,因此无法将相同的 sql 转储加载回数据库,因此您可以从数据丢失中恢复,对我来说,这就是让这些转储文件开始的意义所在。您可以使用 bundle 来创建一个新应用程序 (heroku bundles:animate),而不是恢复当前应用程序。

我很乐意在任何/所有这些方面是错误的。这似乎是我所知道的最周到的服务中的一个奇怪的粗糙点。当您所做的大部分工作都变得如此简单时,通常不会放弃数据库访问。

对我来说,数据库访问就像灭火器。通常没什么大不了的,但是当它重要的时候,它就很重要了。

关于ruby-on-rails - Heroku 应用程序的数据库管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2456953/

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