2010-09-21 203 views
1

我想建立一個預填充的sqlite數據庫,使用Django作爲前端數據輸入器;不過,我讀過這個site和StackOverflow,這並不容易;並且需要使用CSV文件。使用Django預填充SQLite核心數據的數據庫

這很好,如果你的數據庫非常小 - 但如果你預先填充有關係的數據(即:客戶,訂單,銷售人員等),那麼該怎麼辦?或者如果您正在構建的數據庫需要大量數據輸入(超過1,000條記錄)。

我的應用程序/數據庫會很大,並有很多預填充的數據與多個引用/關係 - 我真的不想重新輸入所有這些東西到CSV文件或模擬器和我認爲使用Django將是一個非常快速和骯髒的方式獲取大量的相關數據到iPhone應用程序。

這種提出了核心數據是否真的值得的問題,學習曲線非常高,語法可能很麻煩,我正在考慮使用FMDatabase,除非我無法獲得LIMIT/OFFSET正確顯示批量數據行(任何幫助或提示如何做到這一點很好!)。

因此,如果您想要使用核心數據和大型數據庫預填充數據庫,那麼最佳路線是什麼?

回答

0

你可能想看看Active Record端口的可可/可可觸摸。我以前做過這樣的應用程序,而我們(客戶和我)選擇的是在第一次啓動應用程序時從XML文件導入數據。這個想法是,當解析器被構建到應用程序中時,如果我們選擇在以後的日期,我們可以做OVA更新。數據確實有相當複雜的關係,但我決定核心數據仍然是前進的方向。

我只用過原始SQLite一次,那是我們在iPhone上有CoreData之前。你也應該考慮一下你的解決方案是用來完成由CoreData處理的模式遷移。

的混合溶液是將數據加載到核心數據在模擬器,然後運送用的應用程序,SQLite數據庫,並將其複製到應用程序的文件的目錄,在初始負荷。兩全其美。

祝你好運

+0

喬納森,感謝您的回答 - 我擔心我永遠不會得到答案。我喜歡Active Record的想法,並會進一步審查。我仍在學習核心數據;整個遷徙的事情讓我感到害怕,但我相信我可以學習它。 – zardon 2010-09-23 20:49:04

+0

我見過人們談論使用FMDatabase,但隨後你如何通過記錄上的tableView錯開(克隆NSFetchController的功能*或任何其所謂的) - 唯一的問題是寫作的所有關係長期手。我猜核心數據或混合模型是最好的前進方向。 – zardon 2010-09-23 20:50:20

+0

Marcus Zara關於核心數據的書http://pragprog.com/titles/mzcd/core-data相當有用,在電子書版本中約20美元不算太貴。他談到了版本控制和遷移,並且在多線程環境中編寫了關於核心數據的一章,這對於執行大量導入至關重要。 CoreData當然值得學習 – Jonathan 2010-09-24 00:24:26

相關問題