App Store を介したアプリの更新中に、SQLite データベース ファイルをより多くのコンテンツで更新したいと考えています。古い SQLite ファイルはDocuments
、アプリのフォルダーにあります。
どうすればこれを処理できますか?
sqlite> attach 'path_to_table.db3' as toMerge;
sqlite> insert into MyTableToInsertTo select * from toMerge.MyTableToInsertFrom;
sqlite> detach database toMerge;
BEGIN を使用します。専念; 大規模データ用
Core Data を使用していないか、自動移行機能を使用していると仮定しています。ストレートな SQLLite の場合、新しいデータベース ファイルを作成する必要があります。次に、スキーマの変更の性質に応じて、クエリを実行してデータを ( ) にコピーできる場合がありますusing INSERT INTO destination SELECT * FROM source
。ただし、単純な一連のクエリで処理するには変更が多すぎる場合 (ビジネス ロジックが含まれる場合など) は、古いデータをあるデータベースから新しいデータベースに変換するスクリプトを作成する必要がある場合があります。