2017-10-06 3 views
0

データストアエンティティを配置する前にIDを割り当てたり、アプリエンジンでIDを自動生成できるようにすることもあります。削除されたエンティティIDは、エンティティに対して自動生成された場合にApp Engineに再び利用可能ですか?

質問:エンティティを配置して削除すると、新しいエンティティのIDを自動生成するようにアプリケーションエンジンを割り当てたり、許可したりする際に、IDが再び利用可能になりますか?

私が尋ねる理由は、そのIDを参照している他のエンティティ(キーのようなもの)がある可能性があるため、エンティティが削除されてもIDをリサイクルしたくないということです。私は現在、エンティティを削除することは絶対にしませんが、エンティティには「削除済み」フラグを設定しています。どのようにこれが動作するのだろうか。私はこれで最後に関与していたので、何かが変わったかもしれない(とクイックドキュメントの検索は何も新しいものをターンアップしない)ことを警告して

答えて

0

、私の理解では、IDのブロックを割り当てた後、彼らはリサイクルされないことです。

+0

App EngineでIDを自動生成することを許可するとどうなりますか?エンティティが削除された場合、リサイクルされる可能性はありますか? – Micro

+0

未来は常に不確実です。私は "潜在的"を除外することはできませんが、今日はそのように賭けていません。 –

0

私はIDの非再使用に頼らず、明示的に文書化されていません。また、(反対側の)Google App Engine (datastore) - will a deleted key regenerate?も参照してください。

エンティティを守らないのであれば、エンティティを実際に削除して再利用できるようにする前に、すべての孤立リファレンスをクリーンアップするロジックを実装することをお勧めします。それはとにかく悪いことではありません - その孤児の参照は潜在的にあなたに悲しみを引き起こす可能性があります。

関連する問題