0

背景

我一直在使用一些基于相同 sqlite 数据库结构但以不同语言运行的移动应用程序。你猜对了,涉及到 ObjC(iOS) 和 Java(Android)。为了数据共享和互操作性的利益,我想对这个模式进行标准化(有大小写差异、表命名差异、结构差异等)。作为奖励,我希望能够将某种模式表示检查到源代码控制中并控制模式的不同版本。

问题

虽然我了解创建的 sqlite 数据库实例包含架构信息,但我不相信空白 sqlite 数据库的分发是共享该架构的最佳方式。例如,Android 提倡使用帮助程序以编程方式创建和/或升级 sqlite 数据库。

但是,如果我有代码构建/升级数据库,那么它似乎会强制维护每种语言的编程模式。

问题

是否有其他选项或方法(除了预先构建的、包含元数据的空白 sqlite 数据库)可以在多种语言之间共享和标准化模式?那些可能是什么?这些选项可以存储在源代码管理中吗?多个平台之间可以自动化吗?

非常感谢任何见解。我们可以与一次性版本一起跛行,但必须有更好的方法......

4

1 回答 1

0

当我提出问题时,通常会出现这种情况,然后我会在网上搜索进一步的线索。似乎有一种方法可以执行多行sqlite“脚本”:SQLite - Run multi-line SQL script from file?

只需要验证我是否可以拥有静态“创建”脚本和“更新”脚本,分发脚本,并让各种平台使用它进行初始化......

我将用我的发现更新这个答案。

更新

所以是的......通过一些管理,我可以运行批处理脚本sqlite3_execexecSql为文件的每一行运行。因此,我将源代码控制中的脚本作为有效的 sqlite 语句。应该是一个可行的解决方案......而且现在我考虑得更多了。

于 2012-11-15T18:52:50.600 回答