2016-10-27 14 views
1

この機能を実装しない賛否両論はありますか?なぜRealmは自動インクリメントプライマリキーをサポートしていませんか?

私はいくつかはsolutionsが存在することを知っていますし、そこには道路地図がありますが、私たちが授与していない決定には何らかの利点がありますか?

+0

6行のコードで自動インクリメントプライマリキーを設定できると考えると、もっと重要なことがあると思います。 – EpicPandaForce

+0

ええ、それは通常ボックスから出てくるものの1つで、そこにあるはずです私たちが行方不明のもの... –

+1

解決しようとしているユースケースは何ですか?おそらく、自動インクリメントの主キーよりも優れた選択肢があります。 – Michael

答えて

5

Realmチームは、Gitub(realm/realm-cocoa#2591を参照)のディスカッションで、開発者がこの機能を実装するために使用できるコードがいくつかあっても、自動インクリメントフィールドをサポートする計画はないと述べました。議論でのレルムのメンバーから

我々は、複数のプロセスからの同時アクセスとそれをサポートすることができないので、我々は、この機能をサポートするつもりはないことを決めました。

これだけです。

+0

Alright。少なくとも知っておいてよかった。 –

+0

それはちょっと変だけど。それらは、書き込みトランザクション中のマルチプロセスロックをサポートします。 – EpicPandaForce

+2

もっと重要な問題は、自動インクリメントキーがデバイス間のオフライン同期では機能しないことです。また、Realmは関係にキーを必要としません。これがSQLに存在する主要な理由です。他の2つのユースケースは '作成後ソート'と 'ルックアップのキー'です。オブジェクトの作成時に基づいてソートする場合は、 'Date created = new Date()'が機能します。 'string id = UUID.random()。toString();'がうまく動作するように、一意のキーを持つことです。 –

関連する問題