0

ROR アプリで新しいデータベースを自動的に作成する方法はありますか。

私がやろうとしているのは、サイトにサインアップする新しいユーザーごとに新しいデータベースを作成することです。したがって、新しいユーザーのサインアップが成功すると、いくつかの空のテーブルを含む新しいデータベースが作成されます。

新しいユーザーは新しいデータベースを取得し、新しいデータベースはその中の同じテーブルになりますが、各ユーザーが保存する情報は異なります。

これが必要だと思う理由は、ユーザーがシステムを使用しなくなった場合に、DB に保存した情報を提供し、DB とテーブルを非常に簡単にドロップできるためです。

私が探しているのは、php の mysql_create_db() のようなものです

4

2 に答える 2

0

シンプルなシステムを複雑にしていると思いませんか?あなたが考えている方法はスケーラブルではありません。たとえば、何千人ものユーザーがいる場合、同じ数のデータベース テーブルを作成する必要があります。ほとんどのテーブルが役に立たない場所。それは確かにばかげている...

次のことだけを達成したい場合

  • 各ユーザーには独自のデータがあります。
  • ユーザーはデータのエクスポートを希望する場合があります。
  • ユーザーがアカウントを閉鎖すると、すべてのデータが削除されます

その場合は、全体を単一のデータベースを持つ単一のアプリケーションと考えた方がよいでしょう。それに応じてデータベースを設計し、それを実装するためのレールのベスト DRY プラクティスをよりよく探してください。

于 2012-09-01T17:12:35.657 に答える
0

これは、ユーザーをリレーショナル データベースに格納するのに適した方法ではありません。特に、構成に関する次の規則に依存するruby​​ on rails のようなアプリケーション フレームワークを使用する場合はそうです。

1 つのユーザー モデルを用意し、Devise を使用してから Cancan gems を使用して、役割と権限を管理します。ここで一からやり直す必要はありません。

サイズや性能など、その他の考慮事項がある場合は、詳細に記入してください。あなたが挙げた理由 (管理のしやすさ) は、その道をたどる正当な理由にはなりません。

これは興味深いアイデアで、他の分野でも使用できますが、標準的なユーザー テーブルにはあま​​り適していません。

于 2012-09-01T17:21:18.510 に答える