0

DataMapper を使用して簡単なアプリケーションを作成しています。データベースで一貫した ID (シリアル プロパティ) を維持すること (これは自由に変更される可能性があります) がやや重要であるため、すべてのレコードを調べて一貫性を保つように ID を修正するこの単純なスクリプトを作成しました (例: 1、2、3)。 ...)。

問題は、新しいレコードを追加するたびに、以前のレコードが修正されていないかのように、一貫性を損なう新しい ID が追加されることです。

この動作を防ぐにはどうすればよいですか? むしろ、ID の論理的な進行を維持する簡単な方法はありますか? 私は、ID を手動で変更するべきではないとはっきりと感じています。

4

1 に答える 1

2

datamapper は通常、連続した ID を作成しますが、このシーケンスは「論理的な順序」とは異なる場合があります。

例:

  • 別のシーケンスでストリップ オブジェクトを作成し、それらを順序付けたい場合
  • 仮のストリップ オブジェクト (プロトタイプ) を作成し、それらを再度削除します。
  • ..

その場合、データマッパーにIDの使用を強制するべきではないと思います。代わりに、独自のアイデアで計算できる「nekkoru_number」のような追加フィールドをお勧めします。あなたの場合、番号の代わりに一意の名前を使用することも良い考えです。

次のようなユースケースも考えてください

  • 後でオブジェクトを挿入する
  • オブジェクトの並べ替え
于 2013-06-18T15:21:59.960 に答える