2016-08-18 5 views
0

私はコアデータとSQLiteを使用するアプリケーションを開発しています。 SQLiteデータベースは、検索データ用です。 SQLiteデータベースにデータを埋め込んだ後、軽量マイグレーションを使用して新しい属性をエンティティに追加しました。ios-lightweight移行を適用した後にsqliteに列を追加しますか?

は今、私はsqlitebrowserとSQLiteのファイルを変更し、(データモデルに追加された新しい属性のために)それに新しい列を追加し、いくつかのデータの列を埋めてきました。しかし、この新しい列はデータを取得するときに何も表示されません。

私はプロジェクトを実行したとき、私はエラーを持っていませんでした。しかし、どのようにSQLiteファイルを変更できますか?手動でSQLiteファイルを変更する必要がありますか?

軽量移行.MYの質問の前に完全に私のアプリの仕事は、次のようになります。linkしかし、私は正確に軽量な移行を行います。アップルのサンプルコードでiPhoneCoreDataRecipesのような私のアプリ。私は私のapp.howで私はsqliteデータベースを変更することができます事前充填されたsqliteデータベースを使用する?私は各エンティティは、モデルはテーブルがsqlite dbであることを知っていて、各属性はsqliteのテーブルの列ですか?私は手動でsqliteファイル(ZNOTE)に新しい列を追加し、それを記入してください。しかし、sqliteからフェッチすると何も表示されません。

+0

こんにちはメフディ - あなたはそれが間違って起こっているかを正確にについてのあなたの質問にもう少し詳細を追加することができますか?たとえば、データをフェッチしようとしていますが、sqlitebrowserを使用して新しい列を正常に追加したことをどのように確認しましたか? –

+0

Ok。軽量移行の前にVince.myアプリが完璧に動作するのを助けてくれてありがとうございます.myの質問は次のようになります:http://stackoverflow.com/questions/29918219/ios-application-coredata-with-persistentstore-as-static-sqlite-データ移行 しかし、私は軽量移行を正しく行います。リンゴのサンプルコードによってiPhoneCoreDataRecipesよう 私のアプリ。私は私のapp.howで私はsqliteデータベースを変更することができます事前充填されたsqliteデータベースを使用する? 私は各エンティティはモデルはテーブルがsqlite dbであり、各属性がsqliteの列であることを知っていますか? 私はマニュアルで新しい列をsqliteファイルに追加します(ZNOTE)。 –

+0

こんにちはMehdi - あなたの質問を明確にするための詳細があります。しかし、新しい情報を含めるように質問を編集するのが最善です。そうすれば、新しい読者は、あなたの下のコメントを読むことなく、あなたが何を求めているのかを理解することができます。 –

答えて

0

コアデータを使用している場合、は、SQLiteファイルを編集してSQLiteスキーマを変更し、それが動作することを期待できません。 でなければなりませんXcodeでコアデータモデルエディタを使用して新しいプロパティを追加してください。アプリケーションが実行されると、SQLiteファイルについてCore Dataが知っているのは、モデルファイルが示すものです。スキーマを変更したがモデルファイルを変更していない場合、Core Dataは変更を認識せず、データが破損したりアプリケーションがクラッシュする可能性があります。

コアデータはSQLiteのラッパーではありません。これは非常に異なるAPIを使用しており、SQLiteはほとんどの場合気にする必要のない実装の詳細です。

あなたはコアデータモデルを変更する方法に慣れていない方は、AppleのCore Data Model Versioning and Data Migrationを見てみましょう。

+0

ok tom.i私の現在のsqliteファイルに何が起こるかを知る。私はagain.becaseそれは多くのテーブル、1000行、イメージファイル、および.....エクスポートとインポートが完全に動作しないを埋める必要がありますか? –

関連する問題