首页 新闻 会员 周边

数据库升级如何实现

0
悬赏园豆:40 [已解决问题] 解决于 2015-03-03 14:09

系统版本升级,数据库的版本跟原先版本的数据库不同,变化主要有一些表结构发生变化,表中有些字段删掉了,或者增加了新的字段。同时还想要保持原来数据可用,能够移植到新版本的数据库中,如何实现?

Daywei的主页 Daywei | 小虾三级 | 园豆:551
提问于:2015-02-27 17:14
< >
分享
最佳答案
0

平时不记录的代价是升级比开发一个成本差不了多少,

记录的代价是平时开发速度受影响了。

小的软件工坊通常都面临这样的问题。

我知道你想挥动一下魔杖,3分钟就完成这事,可惜这个事情只在哈里波特世界里面有。

收获园豆:35
爱编程的大叔 | 高人七级 |园豆:30839 | 2015-02-28 09:45

呵呵呵,见笑了。请教一下,平时怎么记录呢?写个sql脚本?

Daywei | 园豆:551 (小虾三级) | 2015-02-28 10:15

@Daywei: 1、尽量不要修改数据库。

2、写开发日记,修改数据库的最好在开发日记中有,另外再有一个独立的修改数据库记录,SQL 2005或是2008可以每次修改数据库时,都生成一个修改脚本,打开这个选项,虽然很讨厌,但是是有用的。

3、如果超过一个人开发,最好所有数据库的修改由一个人完成。

爱编程的大叔 | 园豆:30839 (高人七级) | 2015-02-28 10:55

@爱编程的大叔: 对于尽量不修改数据库这点不大可能,随着系统的逐步完善和庞大,势必会增加和修改数据库表,有可能一张表最后改的面目全非,对于这样的情况我表示无奈,要是有一个自动生成修改数据库的脚本的工具就好了,大侠可有推荐。

Daywei | 园豆:551 (小虾三级) | 2015-03-02 10:37

@Daywei:

1、修改数据库的时候,会自动生成一个脚本,那个就是可以在旧数据结构上运行的。

2、如果到了面目全非的情况,那基本上你就别指望能够顺利运行了。

3、这就是为什么软件要大版本号,小版本号的原因。

4、当你有这种客户需求的时候,要么你傻不收钱,要么收的钱就应该足够你建立三套系统,一套生产系统(客户)、一套测试系统,一套开发系统。每隔一段时间进行升级,先在测试系统上进行,没有问题就对生产系统进行。

爱编程的大叔 | 园豆:30839 (高人七级) | 2015-03-02 10:41

@爱编程的大叔: 谢谢 前辈的指点。

Daywei | 园豆:551 (小虾三级) | 2015-03-03 09:40
其他回答(2)
0

代码是肯定要改的。

如果是B/S就很简单。

C/S的话,需要先升级原有程序,然后执行一个sql脚本,新增删除字段等。

收获园豆:5
xiaocong_soft | 园豆:556 (小虾三级) | 2015-02-27 19:30
0

写程序导数据

羽商宫 | 园豆:2490 (老鸟四级) | 2015-02-27 19:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册