使用Django预填充SQLite核心数据的数据库

使用Django预填充SQLite核心数据的数据库

问题描述:

我想建立一个预填充的sqlite数据库,使用Django作为前端数据输入器;不过,我读过这个site和*,这并不容易;并且需要使用CSV文件。使用Django预填充SQLite核心数据的数据库

这很好,如果你的数据库非常小 - 但如果你预先填充有关系的数据(即:客户,订单,销售人员等),那么该怎么办?或者如果您正在构建的数据库需要大量数据输入(超过1,000条记录)。

我的应用程序/数据库会很大,并有很多预填充的数据与多个引用/关系 - 我真的不想重新输入所有这些东西到CSV文件或模拟器和我认为使用Django将是一个非常快速和肮脏的方式获取大量的相关数据到iPhone应用程序。

这种提出了核心数据是否真的值得的问题,学习曲线非常高,语法可能很麻烦,我正在考虑使用FMDatabase,除非我无法获得LIMIT/OFFSET正确显示批量数据行(任何帮助或提示如何做到这一点很好!)。

因此,如果您想要使用核心数据和大型数据库预填充数据库,那么最佳路线是什么?

你可能想看看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