我是相当新的都Rails和Heroku的,但我认真地考虑使用它作为一个平台来部署我的Ruby / Rails应用程序。

我想使用Heroku的所有的力量,所以我更喜欢“植入” PostgreSQL在Heroku的,而不是附加亚马逊RDS对MySQL进行管理,但我不是那么有信心没有可能访问在我的数据SQL客户端...

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

你怎么解决这个问题呢?什么是你的经验在现实生活中的应用程序搭载的Heroku?

谢谢!

有帮助吗?

解决方案

我一直在使用它了大约一年。我喜欢它提供的工作流,但我觉得没有对数据的访问是一个真正的麻烦。您的使用数据库的选项有:

分流:从理论上讲,你无论你想在本地和使用水龙头同时复制架构和数据的Heroku创建数据库。在实践中,大部分时间它的惊人的大。不过我目前正在处理清理水龙头翻译我的一些列不良和破坏我的数据之后。

Heroku的控制台:共罚款所有常见的ActiveRecord的东西,但最接近你可以得到数据库的ActiveRecord :: Base.connection.execute“一些SQL”。当你发现自己想知道做这样的ALTER TABLE命令,你会知道你就麻烦了。

它们还提供了一个“捆绑”作为备份应用程序的方法。这使您可以下载所有的代码以及数据库的SQL转储。困难的是,由于没有直接访问数据库没有加载的方式,相同的SQL转储到数据库,以便可以从dataloss,这对我来说,是具有这些转储文件以开始的点恢复。所有你可以使用捆绑的是创建一个新的应用程序(Heroku的包:动画),不能恢复当前的应用程序。

我会爱错任何/所有的这些。这似乎是在经过深思熟虑的服务,我知道的一个奇怪的粗糙的斑点。数据库访问一般不会感觉不太像放弃的时候,大多数的你做什么是由那么容易。

要我的数据库访问是像一个灭火器。通常不是什么大问题,但是当它的问题,它是相当重要的。

其他提示

我使用 admin_data 给我一些见解,以正在发生的事情。我已经成功地用它在Heroku,以及其他托管服务提供商。

首先让我说,开始的 Heroku的是真棒。我有一个伟大的经验部署我的应用程序,并与他们的其他服务集成,如websolr。

随着中说,你的问题:

获取在数据

如果您希望能够得到你的数据,你可以使用水龙头来拉低本地远程数据库。这对于调试是有用的。

性能监视

使用新遗迹RPM。这都同Heroku的一部分,您可以从插件菜单,启用它。

添加自组织数据库查询

您可以编写一个控制器,它可以让你执行任意SQL并查看结果,但是这不是我推荐。作为建议 admin_data 是用于管理数据的很好的解决方案,但如果你想做的任何事情更复杂的你“将不得不求助于自己编写的代码。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top