我一直在使用几个基于相同sqlite数据库结构的移动应用程序,但是使用不同的语言运行。您猜对了,ObjC(iOS)和Java(Android)都参与其中。为了数据共享和互操作性,我想标准化这个模式(存在套管差异,表命名差异,结构差异等)。作为奖励,我希望能够将某种模式表示检查到源代码控制中并控制模式的不同版本。
虽然我知道创建的sqlite数据库实例包含架构信息,但我不相信空白sqlite数据库的分发是共享该架构的最佳方式。例如,Android主张使用以编程方式创建和/或升级sqlite数据库的a helper。
但如果我有代码构建/升级数据库,那么它似乎会强制维护每种语言的编程模式。
是否有其他选项或方法(超出预构建的,包含元数据的空白sqlite数据库)可以在多种语言之间共享和标准化模式?那可能是什么?这些选项是否可以在源代码管理中存储?可以在多个平台之间自动化吗?
非常感谢任何见解。我们可以随着一次性版本一瘸一拐,但必须有更好的方式......
答案 0 :(得分:0)
通常情况下,当我提问时,我会在网上搜索更多潜在客户。看来可能有办法执行多行sqlite“脚本”:SQLite - Run multi-line SQL script from file?
只需要验证我可以拥有静态“创建”脚本,“更新”脚本,分发脚本,并让各种平台使用它进行初始化......
我会用我的发现更新这个答案。
所以是的...通过一些管理,我可以拥有为文件的每一行运行sqlite3_exec
或execSql
的批处理脚本。因此,我将源代码管理中的脚本作为有效的sqlite语句。应该是一个可行的解决方案......现在很明显,我想的更多。