0

私は自分のアプリケーションでこれを行う予定です:

  1. User モデルの key_name に一意の ID を格納します。
  2. いつでも、ユーザーは一度ユーザー名を選択することができます。これは、モデルの元の key_name を、ユーザーが選択したこのユーザー名に置き換える予定です。
  3. 私の実装では、新しいユーザーは、ユーザーがアクティブ化されたときにのみ User モデルが作成されます。

状況に基づいて、私の質問は、次のうちどれがより良いアプローチですか?

  1. ユーザーがログインすると、ユーザーはユーザー名を選択する必要があります。これにより、keyname = username を選択して User モデルを作成できます。ただし、このアプローチは、ユーザーがいつでも好きなときにユーザー名を選択できるようにする必要があるため、ユーザーにとって不快に見える可能性があります。
  2. 上記の状況で説明したアプローチですが、clone_entityを実行する必要があります。ただし、clone_entity を使用すると、参照プロパティは新しい複製されたエンティティに割り当てられますか? また、パフォーマンスが優先されますが、同時に多くのユーザーが関与する場合、データベース操作の面でコストがかかりますか?
4

1 に答える 1

0

user_name をキーとして使用することに心血を注いでいる場合は、どちらのアプローチでも問題なく機能するはずです (ユーザー名の重複を防ぐロジックがあると仮定します)。

ただし、clone_entity を使用すると、参照プロパティは新しい複製されたエンティティに割り当てられますか?

エンティティの複製が正しく行われた場合、参照プロパティは問題なくコピーされます。ただし、複製しようとしているエンティティを参照するエンティティがある場合、それらはエンティティの新しいクローンを参照するように更新されません。

また、パフォーマンスが優先されますが、同時に多くのユーザーが関与する場合、データベース操作の面でコストがかかりますか?

クローンが効率的に実装されている限り、クローンを作成するエンティティを渡すと仮定すると、クローン呼び出しごとに 1 つのデータベース操作 (新しく作成されたエンティティの配置) のみが必要になります。

リンクした clone_entity には、参照プロパティの余分な db 呼び出しを回避する更新があるように見えるので、うまくいくはずです。

于 2012-07-03T23:30:08.290 に答える