4

Herokuで基本的なRailsアプリを構築しています(postgresqlを使用し、dbクライアントPGAdminとして)

名前、電子メール、パスワードを含む基本的なユーザーテーブルがあります...

ユーザー (たとえば、id = 6 のユーザー) を削除してから新しいユーザーを追加すると、新しいユーザーが id=6 に挿入されないことに気付きました (呼び出された左側の最初の列について話している) pgadmin "id PK Serial") したがって、トレーニング中にユーザーを削除および追加することが多いため、基本的には多くの穴があります。

だから私はid列のために持っていることになります:id = 1、id = 5、id = 9 id = 10 ...多くの穴。

それは問題ですか?後で行う必要があるデータベースへのリクエストに影響を与える可能性はありますか?

それを修正し、データベースにすべての ID スロットを「埋める」よう強制する必要がある場合、どうすればよいですか?

4

2 に答える 2

1

削除を行った後に ID 間にこのようなギャップが生じるのは、Rails の通常の動作です。

これは変更しないことをお勧めします。後でユーザー アクションを追跡し、ログを調べて関連するログ エントリを見つけたい場合や、ユーザーがモデルを変更するために行った操作の履歴を格納するテーブルを追加したい場合があるためです。 (例: 削除/変更されたとき)。

どちらの場合も、同じ ID を使用する 2 つの異なるインスタンスによって引き起こされる混乱を招きたくないため、ID を再利用しないでください。

于 2013-05-31T23:14:11.340 に答える