君は牛を二頭持っている

渋谷あたりのエンジニアのブログ。OSからウェッブなフロントエンドまでとか色々。

ユーザー登録をする場合のDB設計

久しぶりの更新ですが、Webサービス作るときのメモです。いわゆる仮登録をするタイプの登録の作り方です。
自分が作るサービスで、ユーザー登録をするときの流れはだいたい以下のような感じ。

  1. ユーザーが情報を入力して送信(仮登録)
  2. ユーザーに本登録用URLを記載したメールが届く
  3. URLをクリックした時点で本登録完了&ログインセッション発行
で、これのためにはユーザーがフォームに入力する情報以外に、
  • ワンタイムパスワードを設定(本登録用URLにひっつける)
  • 本登録完了したかどうか
のレコードをユーザーを管理してるテーブルに作ってます。
 更に、本登録完了時点で、ワンタイムパスワードの登録を消して、完了って流れにしてます。
他にはどんな方法があるんでしょうか、例えば仮登録と本登録で全く別のテーブルにするとか?
良い方法会ったら教えてください。