SaaSアプリのデータベーススキーマ

ダイアグラムエンジニアリング · SaaSデータベース設計1つのプロンプトから作成
読み取り専用プレビュー

プロンプト

SaaSアプリのデータベーススキーマを設計してください

自分用に作り直す

フレームワークについて

ユーザーのアイデンティティとは別に組織のMembershipを管理する

USER、ORGANIZATION、MEMBERSHIP、PROJECT、SUBSCRIPTIONの5つのエンティティで構成されています。Membershipはuser_id、org_id、roleを保持し、ユーザーの組織内でのロールを表現できます。ProjectとSubscriptionにもorg_idを持たせています。各エンティティにはUUIDの主キーがあります。

関係では、ユーザーと組織が0件以上のMembershipを持ち、組織が0件以上のProjectを持ち、組織ごとにSubscriptionを1つ持つことを示しています。Subscriptionにはstripe_id、status、expires_atが含まれ、組織にはplanフィールドもあります。Stripeのフィールドはモデル上の項目であり、実際に動作する請求連携ではありません。

実装前に、招待、重複Membership、無料組織、サブスクリプション履歴をどのように扱うかを決めてください。組織のプランとサブスクリプションのステータスをどのように整合させるかを定義し、認可についてはダイアグラムとは別に仕様化してください。

含まれる内容

得られるもの

  • UUIDの主キーと主要な属性を備えた5つのエンティティ
  • ユーザー、組織、ロールのフィールドを持つMembershipエンティティ
  • org_idによるプロジェクトの組織所有関係
  • 請求参照、ステータス、有効期限を備えたSubscriptionエンティティ
ダイアグラム

SaaSアプリのデータベーススキーマ

engineeringdatabasesaasschema

✦ Free preview · Sign in to use

よくある質問

よくある質問

1人のユーザーが複数の組織に所属できますか?

描画されたUser-to-Membershipの関係では、複数のMembershipレコードを登録できます。各Membershipは、そのユーザーを1つの組織に紐づけ、ロールを保持します。

サブスクリプションがない組織もスキーマ上で許容されますか?

このサンプルでは、組織ごとにサブスクリプションを1つだけ設定しています。請求設定前の組織を許容するモデルであれば、関係を変更してください。

org_idによってテナント分離は強制されますか?

このダイアグラムは所有関係を記録するものです。認証やアクセス制御ポリシーは実装していないため、必要に応じてアプリケーションとデータベースで設計・適用してください。

SaaSアプリのデータベーススキーマ

無料で開始。クレジットカード不要。

Free preview · Sign in to use