现有 SQLite 数据库的 Core Data 数据模式

11

是否可以从现有的SQLite数据库文件生成.xcdatamodel(CoreData数据模型)?

我已经开发了一个SQLite数据库,并编写了一个针对它的Java API。现在,我需要编写一个等效的iOS API来访问同一个数据库(文件)。我不想在xCode中手动创建数据模式,而是只想生成.xcdatamodel,并使用xCode生成我的实体类,以便进行编码。

这个可行吗?


1
@Big_Chair,我不确定您希望得到什么更新的答案。Core Data可以使用SQLite作为数据存储,但是您不能将Core Data用作已经创建的SQLite数据库的前端,这似乎是OP想要的,而且在过去的10年中也没有改变。换句话说,如果您为某个数据库中的实体创建了Core Data模型,并在它们之间建立了适当的连接,然后告诉Core Data使用SQLite作为后备存储,那么Core Data创建的SQLite数据库可能看起来与您开始使用的数据库完全不同。 - Caleb
1
@Caleb 是的,我不得不意识到 CoreData 不适合我的需求,所以我选择使用 GRDB.swift。我正在寻找类似于 Android 上的 Room 的东西,并假设它必须是 CoreData,但它似乎有不同的重点。不过还是谢谢你的回复。 - Big_Chair
3个回答

9

1
我理解你的意思,但是如果能够编程自动化创建.xcdatamodeld的初始版本,而不是手动创建,那就太好了。对于一个复杂的数据库来说,这并不是一个微不足道的问题。 - Rob

5

有人经常使用这个工具来构建相对较大的SQLite数据库的Core Data吗? - Michael Pirotte

3
不,Core Data不仅仅是SQLite的薄包装。它是一个对象存储库,可以(可选地)持久化到SQLite数据库中。这意味着Core Data模型没有直接映射到SQLite数据库。
在您的情况下,我建议使用其中一个可用的SQLite包装器(我没有使用过它们,所以无法特别推荐任何一个)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接