1.一种Android数据库的升级方法,其特征在于,该方法包括以下步骤:
步骤A:创建需要升级的数据库的数据升级文件,在数据升级文件中设置升级后的数据库版本;
步骤B:当与需要升级的数据库相比,升级后的数据库新增了至少1张数据表时,将升级后的数据库中新增的所有数据表,全部导入至数据升级文件中;
步骤C:当与需要升级的数据库相比,升级后的数据库改变了已经存在的数据表的数据类型时,制定配置文件,配置文件中包括升级后的数据库中改变的所有数据表的更新信息,更新信息包括数据表版本、数据表名称、数据表列的原有名称和改变之后的名称、改变数据的数据集、改变数据的原有数据类型和改变之后的数据类型,转到步骤D;
步骤D:为每一份需要改变的数据表,对应创建一份数据相同的升级表,升级表的属性为数据类型可更改;根据配置文件中与需要改变的数据表对应的更新信息,改变升级表中相应的数据;将每一份升级表均保存至数据升级文件中;
步骤E:进行数据库升级时,获取数据升级文件,得到升级后的数据库版本和升级数据,根据升级数据对数据库进行升级,根据升级后的数据库版本更新原有的数据库版本。
2.如权利要求1所述的Android数据库的升级方法,其特征在于:步骤C中所述配置文件的格式为JSON格式。
3.如权利要求1所述的Android数据库的升级方法,其特征在于:步骤D还包括以下步骤:将每一份升级表对应的原有数据表均保存至数据升级文件中。
4.如权利要求1至3任一项所述的Android数据库的升级方法,其特征在于:步骤D中所述根据配置文件中与需要改变的数据表对应的更新信息,改变升级表中相应的数据的具体流程为:根据数据表版本和数据表名称,定位需要改变的数据表对应的更新信息;根据更新信息中数据表列的原有名称,定位对应的列,将该列的名称替换为更新信息中数据表列改变之后的名称;根据更新信息中改变数据的数据集,定位对应的数据,将该数据的类型替换为更新信息中改变之后的数据类型。
5.如权利要求1至3任一项所述的Android数据库的升级方法,其特征在于:步骤E中所述根据升级数据对数据库进行升级的具体流程为:升级数据中存在步骤B中新增的数据表时,在数据库中添加所有新增的数据表;当升级数据中存在步骤D中的升级表时,将数据库中与升级表对应的数据表,替换为升级表。
6.一种Android数据库的升级系统,其特征在于:该系统包括数据升级文件创建模块、新增数据表导入模块、配置文件制定模块、升级表生成模块和数据库升级模块;
数据升级文件创建模块用于:创建需要升级的数据库的数据升级文件,在数据升级文件中设置升级后的数据库版本;
新增数据表导入模块用于:当与需要升级的数据库相比,升级后的数据库新增了至少1张数据表时,将升级后的数据库中新增的所有数据表,全部导入至数据升级文件中;
配置文件制定模块用于:当与需要升级的数据库相比,升级后的数据库改变了已经存在的数据表的数据类型时,制定配置文件,配置文件中包括升级后的数据库中改变的所有数据表的更新信息,更新信息包括数据表版本、数据表名称、数据表列的原有名称和改变之后的名称、改变数据的数据集、改变数据的原有数据类型和改变之后的数据类型,向升级表生成模块发送升级表生成信号;
升级表生成模块用于:收到升级表生成信号后,为每一份需要改变的数据表,对应创建一份数据相同的升级表,升级表的属性为数据类型可更改;根据配置文件中与需要改变的数据表对应的更新信息,改变升级表中相应的数据;将每一份升级表均保存至数据升级文件中;
数据库升级模块用于:进行数据库升级时,获取数据升级文件,得到升级后的数据库版本和升级数据,根据升级数据对数据库进行升级,根据升级后的数据库版本更新原有的数据库版本。
7.如权利要求6所述的Android数据库的升级系统,其特征在于:所述配置文件制定模块中制定的配置文件的格式为JSON格式。
8.如权利要求6所述的Android数据库的升级系统,其特征在于:所述升级表生成模块还用于:将每一份升级表对应的原有数据表均保存至数据升级文件中。
9.如权利要求6至8任一项所述的Android数据库的升级系统,其特征在于:所述升级表生成模块根据配置文件中与需要改变的数据表对应的更新信息,改变升级表中相应的数据的具体流程为:根据数据表版本和数据表名称,定位需要改变的数据表对应的更新信息;根据更新信息中数据表列的原有名称,定位对应的列,将该列的名称替换为更新信息中数据表列改变之后的名称;根据更新信息中改变数据的数据集,定位对应的数据,将该数据的类型替换为更新信息中改变之后的数据类型。
10.如权利要求6至8任一项所述的Android数据库的升级系统,其特征在于:所述数据库升级模块根据升级数据对数据库进行升级的具体流程为:升级数据中存在新增数据表导入模块中新增的数据表时,在数据库中添加所有新增的数据表;当升级数据中存在升级表生成模块中的升级表时,将数据库中与升级表对应的数据表,替换为升级表。