Sqlite3数据库升级方案的变化。
1, 若是讲要升级的数据库版本更高,则从低版本数据库中拷贝与新数据库相同字段的内容,其他字段按照默认值创建。A->B->C这样逐个版本升级,每个版本升级对应一段代码。若是升级到更低版本数据库,则将数据库全部删掉重建。
2, 直接比对当前运行的数据库版本,和将要升级的最新的数据库版本(A->C),把相同的字段保存下来,不同的字段直接按照默认值方式升级。这样可以来回升级,尽量保存了更多的字段的内容。
//创建一个table表,在insert语句(按照行插入)之后,如果没有插入的值将会按照default_value进行更新表格
Create table if not exists table_name(item1_name item1_type default default_value, item2_name item2_type default default_value,…);
//创建一个table的同时直接把另外一个table的内容拷贝过来
Create table table1_name as select item1_name,item2_name,….from table2_name
//把table2的值按照行插入到table1对应的行中
Insert into table1_name(item1_name, item2_name…) select item1_name, item2_name… from table2_name
//删除表
Drop table if exists table_name
//重命名表
Alter table table1_name rename to table2_name