sqlite 数据库表更新的问题


发生的场景大概是这样的:
一个App 有一个经常使用的数据库,里面有几张表,但是由于项目需求的关系会在某些表中添加字段
来满足下新的需求。
版本1.0 表table1 有 A B C 三个字段
版本1.1 表table1 升级变成 A B C D 四个字段
版本1.2 表table1 升级变成 A B C D E F 六个个字段
.
.
.
版本1.N

版本1.N 时 会遇到这样一个问题 :不知道用户是从哪个版本开始升级(可能是1.0 ,也有可能是1.3) 那我针对不同版本的升级的逻辑就会不一样了。
笨的方法是:sWITH CASE 的方法来写每种升级的语句,但是当版本到一定大的程度的时候会出现需要写 N! 个case 很是头疼啊。

大家有好的建议吗?

ios sqlite

寂寞无聊蛋疼帝 10 years, 12 months ago

我介绍一下WebLogic产品的升级模式,供楼主参考。
WebLogic产品线中有部分功能是需要使用数据库表才能够正常工作的,但是WebLogic产品在升级的时候可能涉及到这些数据库表结构的变化,所以在WebLogic安装包中就提供了升级数据库的脚本,比如,要安装sp4版本的weblogic的时候,内置的脚本是这样的,分别表示从某个版本升级到sp4的版本:

sp0_sp4.sql
sp1_sp4.sql
sp2_sp4.sql
sp3_sp4.sql

楼主的问题和这个场景非常类似,可以参考一下。毕竟WebLogic也是一个闯荡江湖很多年的产品了,它的一些思路还是可以参考的。

姐姐别打我的头 answered 10 years, 12 months ago

Your Answer