在 Sencha Touch + Cordova 项目中预填充 SQLite DB
PrePopulate SQLite DB in Sencha Touch + Cordova project
我正在做一个 Sencha Touch 项目,我需要用预填充的数据库打包应用程序。我正在使用 Cordova-SQLitePlugin (https://github.com/brodysoft/Cordova-SQLitePlugin) 作为 cordova 插件来使用 SQLite 作为本地数据库,我一直在寻找实现预填充数据库目标的方法,但没有成功。我发现博客建议将数据库复制到 cordova 文件夹中,它应该可以神奇地工作,但我没有任何运气,我猜这与我的项目是 Sencha Touch + Cordova 项目有关.
到目前为止我所做的是 运行 应用程序首次启动时的所有查询并在那里填充应用程序,但事情是我有 50k 插入要做,所以它真的让代码很糟糕并且我可以通过将应用程序与随时可用的数据库打包在一起,从而节省用户执行这些插入操作所需的时间。
有人知道解决这个问题的方法吗?
好的!做到了!
我从 Sencha 论坛的一个人那里得到了一些帮助,他向我指出了他在 github 上发布的一个回购协议,其中包含 Antair 的 Cordova SQLite 插件示例。
这是回购的 link 以备不时之需:https://github.com/Yoinbol/SqlitePopulated
数据库放在cordova/www/db/文件夹(必须创建db文件夹)。
在 cordova/www/resources/scripts/ 有一个名为 importdb.js 的文件,它监听 deviceready 并在它触发时加载数据库。 (我必须在这里将 importIfExists 从 false 更改为 true 才能使其工作)
在 Main.js 控制器中有一个如何打开数据库的示例,以备不时之需。
无论如何,希望这对有需要的人有所帮助,感谢 Sencha 论坛上的 Diego Garcia 提供的帮助。
我正在做一个 Sencha Touch 项目,我需要用预填充的数据库打包应用程序。我正在使用 Cordova-SQLitePlugin (https://github.com/brodysoft/Cordova-SQLitePlugin) 作为 cordova 插件来使用 SQLite 作为本地数据库,我一直在寻找实现预填充数据库目标的方法,但没有成功。我发现博客建议将数据库复制到 cordova 文件夹中,它应该可以神奇地工作,但我没有任何运气,我猜这与我的项目是 Sencha Touch + Cordova 项目有关.
到目前为止我所做的是 运行 应用程序首次启动时的所有查询并在那里填充应用程序,但事情是我有 50k 插入要做,所以它真的让代码很糟糕并且我可以通过将应用程序与随时可用的数据库打包在一起,从而节省用户执行这些插入操作所需的时间。
有人知道解决这个问题的方法吗?
好的!做到了!
我从 Sencha 论坛的一个人那里得到了一些帮助,他向我指出了他在 github 上发布的一个回购协议,其中包含 Antair 的 Cordova SQLite 插件示例。
这是回购的 link 以备不时之需:https://github.com/Yoinbol/SqlitePopulated
数据库放在cordova/www/db/文件夹(必须创建db文件夹)。 在 cordova/www/resources/scripts/ 有一个名为 importdb.js 的文件,它监听 deviceready 并在它触发时加载数据库。 (我必须在这里将 importIfExists 从 false 更改为 true 才能使其工作) 在 Main.js 控制器中有一个如何打开数据库的示例,以备不时之需。
无论如何,希望这对有需要的人有所帮助,感谢 Sencha 论坛上的 Diego Garcia 提供的帮助。