嘿,我有一个使用JavaScript在Titanium Appcelerator中开发的iOS应用程序(仅适用于iOS)。
我正在尝试在我的应用程序中使用SQLite数据库。
我能够使用以下方法将SQLite数据库复制到我的项目中:
Ti.Database.install('/baseDados/aquarismo', 'AquaInfo');
此“ / baseDados / aquarismo”是我项目内的数据库目录,“ AquaInfo”是复制后的数据库名称。
然后,我可以打开和关闭数据库以从中获取数据。
我的问题是,当我更新SQLite数据库时,我需要在项目内部对其进行更新。因此,我用新数据库替换了项目文件夹中的数据库。
但是,当我的应用启动时,我需要删除旧数据库,然后用新数据库替换它。
我已经尝试过了:
var f = Ti.Filesystem.getFile(
Ti.Filesystem.applicationSupportDirectory, 'database','AquaInfo.sql');
//If it's there, delete it
if(f.exists() == true){
f.deleteFile();
}
// Install fresh database
Ti.Database.install('/baseDados/aquarismo','AquaInfo');
但是数据库不会被新数据库取代。
启动iOS应用后如何更新SQLite数据库?
答案 0 :(得分:0)
无论何时更新数据库,无论是更新表列还是创建新表并保存更改,都会生成新的“ AquaInfo.sqlite”文件。
所以我们必须替换它,因为我们正在从外部源更新数据库。
解决方案:
如果要在应用程序起点更改数据库。您必须像创建表那样手动编写代码,在手动创建的表中添加列,并更改某些列的数据类型。
因此,您可以通过手动编写用于创建表和相关内容的代码来实现此目的。