1

いつものように、この質問がどこかで議論されていたら申し訳ありません。

ユーザーが削除されたときに、関連するテーブルとアセットを誰もがどのように処理しているかについての洞察に興味があります。私が現在取り組んでいるプロジェクトは、主にプロジェクト管理/問題追跡システムです。

ユーザーが削除された場合、課題、プロジェクト、ファイルなどはどうなりますか? 私の頭の上にあるいくつかのシナリオは、次のいずれかでした。

  • すべての問題、ファイル、プロジェクトなどを削除します...
  • すべてを唯一の (または多くのユーザーのうちの 1 つ) 管理者ユーザーに再親化する
  • ユーザー アカウントをロックしますが、すべての資産を保持します (ただし、サーバー ストレージが問題になる場合は、ある時点でそれらを完全に削除する必要がある場合があります)。
  • 存在しない user_id (0) を関連するテーブルに割り当てます (テーブルを結合しようとすると、これは問題が多すぎるようです)

私が見逃している他の考えられる考慮事項はありますか?3 番目の解決策は、今のところ私には最適に思えます。大規模なプロジェクトに携わったことのある方は、ユーザーの削除をどのように処理しましたか? ちなみに、私は php (yii) と mysql でプロジェクトを開発しています。

4

2 に答える 2

2

他のユーザーが使用していないすべてのデータを削除する必要があります。

問題やタスクなど、他のユーザーが影響を受ける状況のため、ユーザー プロファイルを非アクティブ化する必要があります。これを行う最善の方法は、データベースに「アクティブ」列を追加し、ユーザーが削除された場合はそれを 0 に設定することです。システムでは、この列を解析して「削除されたユーザー」などを表示できます。

誰もタスクを割り当てられていない場合は、割り当てを解除して、他のユーザーがタスクを選択したり、タスクを割り当てられたりできるプールのようなものを作成すると最適です。

プロジェクトのような他のデータで行うのと同じ方法です。

ファイルに関しては、必要がなくなった場合は削除するのが理にかなっています。

重要な情報を失うよりも、サーバー上にもう少し多くのデータを保持する方がよいということを常に覚えておいてください。

于 2013-08-16T02:06:51.327 に答える