SaaSアプリのデータベーススキーマを設計してください
フレームワークについて
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、無料組織、サブスクリプション履歴をどのように扱うかを決めてください。組織のプランとサブスクリプションのステータスをどのように整合させるかを定義し、認可についてはダイアグラムとは別に仕様化してください。
含まれる内容
SaaSアプリのデータベーススキーマ
✦ Free preview · Sign in to use
よくある質問
描画されたUser-to-Membershipの関係では、複数のMembershipレコードを登録できます。各Membershipは、そのユーザーを1つの組織に紐づけ、ロールを保持します。
このサンプルでは、組織ごとにサブスクリプションを1つだけ設定しています。請求設定前の組織を許容するモデルであれば、関係を変更してください。
このダイアグラムは所有関係を記録するものです。認証やアクセス制御ポリシーは実装していないため、必要に応じてアプリケーションとデータベースで設計・適用してください。
無料で開始。クレジットカード不要。