2017-03-07 21 views
1

私は、FMDBを介してSQLiteデータベースから読み込まれたクイズ形式のアプリケーションを作成しています。私はアプリケーションバンドルからアプリケーションドキュメントディレクトリにデータベースをコピーして、私は読み取り/書き込み権限を持っているので、スコアなどのユーザーデータもデータベースに保存することができます。複数のSQLiteデータベースとFMDBの比較

しかし、アプリケーション文書のデータベースとアプリケーションバンドルのデータベースを比較して、バンドルdb(新しい質問など)の更新をdocs dbにコピーできるようにする必要があります。単にバンドル全体をアプリのドキュメントにコピーすることは、以前に保存したユーザーデータを上書きするため、オプションではありません。私は変わっていたものを見て、そこから行くためにこのような

SELECT questionID FROM Bundle.Master EXCEPT SELECT questionID FROM AppDocs.Master

として念頭に違い文のいくつかの並べ替えを持っていたが、私は同時に複数のDBでexecuteQueryコマンドを使用する方法がわかりませんよ。

いずれかの考え/代替アプローチが評価されました。

答えて

1

バンドルされたdbを「バージョン」で出荷し、このバージョンをドキュメントdbの他のテーブルと共にコピーすることができます。アプリケーションの起動時に、バンドルされたdbのバージョンとドキュメントdbのバージョンを比較し、必要に応じて新しいインポートを実行します。

dbマイグレーションを実行し、実行する必要があるときに正確にインポートすることができます。

+0

ありがとう、私はこれが私がやることだと思います。私は一時的な回避策を持っており、各データベースを個別に照会し、結果をセットに保存し、次にユニオンを実行し、関数などを交差させます。 – Tom

関連する問題