オブジェクトを作成した順番で返すことができるようにしたいと思います。明らかに、私はcreated_atフィールドを使ってこれを行うことができますが、これは私がTime.zone.nowをスタブしていつも同じ時間を返すテストスクリプトではうまくいきません。RailsのActiveRecordオブジェクトIDは単調増加することが保証されていますか?
ARは、次のIDが常に最後のオブジェクトより大きいか、削除されたIDを再利用する可能性があることを保証しますか?私はデータベースが両方のタイプの機能を提供していると確信していますが、Railsはデフォルトで何を選択していますか?
EDIT:
テストSQLiteのドライバでは、それが単調であることを示唆しています。テーブル内のすべてのレコードを削除しても、セッションを閉じてセッションを開き、新しいレコードのIDが以前に削除されたオブジェクトのIDよりも大きいレコードを作成しても、しかし私はここでempircalの証拠に頼りたくはありません。誰かがActiveRecordの設計意図について決定的な答えを持っていれば、それは評価されるでしょう。
パラドックス再使用された古いIDの..私を殺した:) – baash05
@daveatflow:それはあなたが苦しんでほしい "嫌なデータベース"に該当するのでしょうか?自分で使ったことはありません。 –