問題タブ [apartment-gem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1185 参照

ruby-on-rails - Rails Engine 内のアパートメント gem マイグレーション

Rails Engine を別の Rails アプリ内に構築しています。エンジンのレーキ タスクは、アプリにスコープが設定されているようです。

一方、アプリのルートから:

私の問題は、実行するときです

次のエラーが表示されます。

レーキが中止されました! タスク 'apartment:migrate' の作成方法がわからない

app:apartment:migrate タスクを呼び出す必要があるようですが、これを行う方法がわからないため、RSpec を使用してこのエンジンを単独でテストできます。

0 投票する
1 に答える
1575 参照

ruby-on-rails - Heroku でホストする場合、複数のスキーマと複数のサブドメインを使用するにはどうすればよいですか?

今後のアプリケーションで Devise と Apartment を使用して、アカウントを作成する各組織のサブドメインを作成することを計画しています。アプリケーションを Heroku でホストしたいのですが、次の引用に出くわしました。

データベースで複数のスキーマを使用する最も一般的な使用例は、各顧客が独自のスキーマを持つサービスとしてのソフトウェア アプリケーションを構築することです。この手法は説得力があるように見えますが、運用上の問題が多数発生しているため、使用しないことを強くお勧めします。たとえば、スキーマの数が中程度 (> 50) であっても、Heroku のデータベース スナップショット ツールである PG バックアップのパフォーマンスに深刻な影響を与える可能性があります。

多くのユーザーが自分の一部であるサブドメインにログインできる Rails 4 で basecamp スタイルのサブドメインをホストするために、Heroku でうまく機能するテクニックはどれですか?

Heroku が機能しない場合、これをうまく機能させる PaaS オプションは他にあるでしょうか?

0 投票する
1 に答える
336 参照

ruby-on-rails - pgSQLスキーマ/アパートメントでsearchkickを使用し、スキーマを循環させるにはどうすればよいですか?

現在、テナントを処理するために Apartment および pgSQL スキーマを使用するマルチテナント Rails 4 アプリ内で searchkick を使用しようとしています。ただし、検索キックを機能させることができません。何が間違っているのか正確にはわかりませんが、インデックスを再作成すると、1 つのスキーマでのみインデックスが再作成されるのではないかと考えています。

各スキーマを循環する必要があると考えていますが、Apartment でそれを行う方法がわかりません。彼らは移行のために自動的にそれを行うようですが、私はそれをsearchkickで動作させようとしています. そのために、searchkick から以下の rake タスクを編集したいと思います。

何か提案があれば教えてください

0 投票する
1 に答える
1330 参照

ruby-on-rails - Heroku ツールを使用せずに pg_dump を使用するには?

Apartment gem を使用して Heroku マルチスキーマ pgSQL アプリで pg_dump を使用したいのですが、スキーマが多すぎて機能しません。

調べてみたところ、以下のリンク先のアパートの宝石の作成者から次のことがわかりました。

私は、ここで参照されている Apartment gem の作成者です。Heroku で 1 年以上使用しており、スキーマを利用しています。

使用するのは間違いなく問題ありません。スキーマごとに 50 以上のテーブルを持つアプリケーションで 100 をはるかに超えるスキーマを使用しても優れたパフォーマンスが得られます。

@4ware が言及した記事では、heroku の pg:backups コマンドの問題について説明しています。(その記事は、私たちのサポート クエリから生まれたものだと確信しています)

間違いなく問題がありますが、これは Postgresql、スキーマ、またはスキーマを使用したマルチテナンシーの欠点ではなく、heroku ツール自体の欠点です。Postgresql がデータベースで ingres をサポートするようになったので、組み込みツールを実際に使用する必要はありません。必要なときに pg_dump を実行するだけで、期待どおりの速さで動作します。

外部ツールを使用するにはどうすればよいですか? 誰かがこれについて詳しく説明できますか?

0 投票する
3 に答える
521 参照

ruby-on-rails - searchkick を使用したマルチテナント Rails アプリ

私のアプリに関するいくつかの情報:

  • レール
  • アパートメントジェムを使用してマルチテナンシーを実装します
  • searchkick gem による Elasticsearch の使用

マルチテナンシーとは、同じモデルに対して重複する ID が存在することを意味します。

最初に頭に浮かんだのは、別のテナントの名前にindex_prefix設定して、 searchkick を使用することでした。しかし、アプリの起動時にindex_prefixの値が設定されるため、うまくいかないことに気付きました。index_prefixそして、同じ値がずっと残ります。

0 投票する
0 に答える
172 参照

postgresql - マルチテナントRailsアプリケーションの新しいスキーマに対するPostgresqlのデフォルト権限

私の Rails 4 マルチテナント アプリケーションでは、gem Apartmentを使用して Postgresql に新しいスキーマを作成します。

非常にうまく機能しますが、新しいスキーマの権限に問題があります。

Postgresql で、データベースをバックアップするための「バックアップ」ユーザーを作成しました。

デフォルトの権限を次のように定義しました。

これは、既存のスキーマの新しいテーブルとシーケンス (Postgresql のドキュメントで説明されているように) では機能しますが、新しいスキーマでは機能しません。

何時間もグーグルした後、解決策が見つかりません。

新しいスキーマにデフォルトの権限を適用する最良の方法は何ですか?

ありがとう

0 投票する
1 に答える
3430 参照

ruby-on-rails - Rails Apartment のシードファイルの定義方法

スキーマ ファイルを設定しましたが、テナントの移行のみで実行できるように、テナントのシード ファイルを定義できません。また、ユーザーが作成され、そのテナントが作成されたら、スキーマを作成しようとしています。