Chinaunix
标题:
程序升级,如何保证设置的数据不变
[打印本页]
作者:
scounixadmin
时间:
2016-09-11 14:00
标题:
程序升级,如何保证设置的数据不变
当程序升级时,对应的设置项也会增加(也就是结构体新增加新的域),如何能保证数据不被破坏
例子:
typedef struct
{
name
sex
age
} student_s;
升级后要变成
typedef struct
{
name
sex
grade
addr
age
} student_s;
显然会破坏掉之前的数据。
有什么好办法(除了预留空间byte reserved[32]外)不破坏数据,又能增加功能
数据库也是这样,如果表格结构发生变化,好像只有导出数据到新的表格才可以
求最佳方法
作者:
jason680
时间:
2016-09-12 18:29
data head:
version = 1
typedef struct
{
name
sex
age
} student_s;
----------------------------------
data head:
version = 2
typedef struct
{
name
sex
grade
addr
age
} student_s;
作者:
evaspring
时间:
2016-09-12 20:10
? 数据库表结构改了写好升级sql 兼容老的表不就OK
作者:
soft30
时间:
2016-09-13 00:09
你需要字段标识版本号, 程序首先判断版本号, 知道了版本号后是哪个版本就用哪种方式处理。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2