程序升级,如何保证设置的数据不变
当程序升级时,对应的设置项也会增加(也就是结构体新增加新的域),如何能保证数据不被破坏例子:
typedef struct
{
name
sex
age
} student_s;
升级后要变成
typedef struct
{
name
sex
grade
addr
age
} student_s;
显然会破坏掉之前的数据。
有什么好办法(除了预留空间byte reserved外)不破坏数据,又能增加功能
数据库也是这样,如果表格结构发生变化,好像只有导出数据到新的表格才可以
求最佳方法
data head: version = 1
typedef struct
{
name
sex
age
} student_s;
----------------------------------
data head: version = 2
typedef struct
{
name
sex
grade
addr
age
} student_s; ? 数据库表结构改了写好升级sql 兼容老的表不就OK
你需要字段标识版本号, 程序首先判断版本号,知道了版本号后是哪个版本就用哪种方式处理。
页:
[1]