18

私は Rails と Heroku の両方にかなり慣れていませんが、Ruby/Rails アプリケーションを展開するためのプラットフォームとして使用することを真剣に考えています。

Heroku のすべての機能を使用したいので、Amazon RDS for MySQL のアドオンではなく、Heroku が管理する「組み込み」PostgreSQL を好みますが、SQL クライアントでデータにアクセスする可能性がなければ自信がありません。 ..

よくできたアプリでは DB にアクセスする必要がないことはわかっていますが、いくつかの状況があります (構成テーブルに行を追加する、ビューにマップされていないデータを確認する、問題をデバッグするためにいくつかの列を更新する、パフォーマンスを監視する、クエリを実行する)報告など)これが良い場合...

この問題をどのように解決しますか?Heroku を利用した実際のアプリで何を体験しますか?

ありがとう!

4

3 に答える 3

11

私はそれを約1年間使用しています。提供されるワークフローは気に入っていますが、データにアクセスできないのは本当に面倒です。データベースを操作するためのオプションは次のとおりです。

タップ: 理論的には、データベースをローカルで作成し、タップを使用してスキーマとデータの両方を Heroku にコピーします。実際には、ほとんどの場合、驚くほど素晴らしいものです。ただし、タップによって列の一部が適切に翻訳されず、データが破損したため、現在クリーンアップに取り組んでいます。

Heroku コンソール: 通常のすべての ActiveRecord の機能にはまったく問題ありませんが、データベースに最も近いのは ActiveRecord::Base.connection.execute "some sql" です。そのようなテーブルの変更コマンドを実行することに疑問を感じている場合、問題が発生していることがわかります。

また、アプリをバックアップする方法として「バンドル」も提供しています。これにより、すべてのコードとデータベースの sql ダンプをダウンロードできます。問題は、データベースに直接アクセスできないため、同じ sql ダンプをデータベースにロードしてデータ損失から回復する方法がないことです。私にとっては、これらのダンプ ファイルを最初に用意するポイントです。バンドルを使用できるのは、現在のアプリを復元するのではなく、新しいアプリケーション (heroku bundles:animate) を作成することだけです。

これらのいずれか/すべてについて間違っていることを望みます。これは、私が知っている最高の考え抜かれたサービスの奇妙なラフスポットのようです. データベースへのアクセスは、ほとんどの作業が非常に簡単になっている場合、通常はあきらめる必要はありません。

私にとって、データベースへのアクセスは消火器のようなものです。通常は大したことではありませんが、重要な場合は非常に重要です。

于 2010-03-17T07:30:33.550 に答える
6

admin_dataを使用して、何が起こっているかについての洞察を得ることができます。Heroku やその他のホスティング プロバイダーで使用できました。

于 2010-03-16T18:16:22.723 に答える
4

まず最初に、 heroku は素晴らしいと言うことから始めましょう。アプリケーションをデプロイし、websolr などの他のサービスと統合するという素晴らしい経験をしました。

そうは言っても、あなたの質問:

データを取得する

データにアクセスできるようにしたい場合は、タップを使用してリモート データベースをローカルにプルダウンできます。これは、デバッグに役立ちます。

パフォーマンス監視

新しいレリック RPM を使用します。これは heroku の一部として提供され、アドオン メニューから有効にすることができます。

アドホック データベース クエリ

任意の sql を実行して結果を表示できるコントローラーを作成することもできますが、これはお勧めできません。示唆されているように、 admin_dataはデータを管理するための優れたソリューションですが、もっと複雑なことをしたい場合は、自分でコードを書く必要があります。

于 2010-03-16T20:13:54.827 に答える