2012-06-14 22 views
0

我有一個商店的應用程序,在CoreData基礎中填充數據。爲了預先填充數據庫,我們使用應用程序數據生成了一個.sqlite文件。我是否必須遷移Coredata基礎的行?

例如,在表的人,我有

134 Martin Developer 
256 John Boss 
371 Doe  Somebody 

在我的應用程序的新版本,該人士表看起來像

134 Martin Developer 
256 John Boss 
399 Mister Someoneelse 

所以我用399一個替代371線。

它工作正常,除了當我安裝在舊的新應用程序。在這種情況下,數據根本不會改變。我看起來像是一個遷移問題,但數據庫結構完全一樣。只有行已經改變。

這是一個遷移問題嗎?

+0

如果模型與以前相同,則不涉及遷移...這是一個簡單的更新..也許您可以嘗試發佈您使用的代碼ng來更新這個人...... –

+0

你如何處理核心數據中的表和行?這不是您應該如何看待Core Data Store的水平,真的。 –

+0

@Flex_Addicted:我在一個非常龐大的應用程序(不是我的)上工作,不幸的是我不能向你顯示3或4行代碼,它會說「某事」... – Martin

回答

1

當您有預填充的數據庫時,通常是將其複製到第一次在設備上運行時應用程序文檔目錄。據推測,您還想將用戶數據保存在數據庫中,並且sqlite存儲必須位於應用程序文檔目錄中才能寫入。

所以,如果你沒有做複製 - 首先實現。

然後(假設你沒有改變你的數據模型),做在你的問題的變化,

  1. 檢索討論記錄
  2. 刪除
  3. 插入替換
  4. 保存
+0

是的,您說得對。我從來沒有注意到,sqlite文件首先被複制到我的文檔目錄中(我不是該應用程序的第一個開發人員)。我現在明白了,爲什麼可以編輯數據。 – Martin

相關問題