私はまだ思考段階にあるので、コードがまだない理論的な質問が少しあります。ユーザーが DropBox Datastore などを介して他のユーザーとデータを共有できるようにアプリを更新したいと考えています。ただし、ユーザーがデバイス上の複数の sqlite テーブルに入力されるデータを作成する場合、各テーブルには、データをリンクするために他のテーブルで外部キーとして使用される主キーとして自動増分整数があります。
実際にデータを作成して共有しているユーザーが複数いる場合、主キー列が明らかに問題になります。データをダウンロードしてローカルに保存すると、ユーザー 1 のキー値をユーザー 2 のデータ テーブルに挿入することはできません。これは、まず自動インクリメントが原因であり、次にユーザー 2 がそのキー値で保存された共有されていないデータを既に持っている可能性があるためです。 .
いくつかのオプションについて考えましたが、特に魅力的または堅牢なものはありません。デバイスを識別するためにUUIDを作成することを考えていました。その値は各テーブルに格納する必要があり、主キーはその列と現在の主キー整数の組み合わせであり、明らかにauto-インクリメントが削除されました。したがって、各テーブルからすべての関連データを取得するには、id 列と UUID 列の両方を使用する必要があります。
これを達成するためのより堅牢な方法が必要だと思いますが、より良い提案はありますか?