系统版本升级,数据库的版本跟原先版本的数据库不同,变化主要有一些表结构发生变化,表中有些字段删掉了,或者增加了新的字段。同时还想要保持原来数据可用,能够移植到新版本的数据库中,如何实现?
平时不记录的代价是升级比开发一个成本差不了多少,
记录的代价是平时开发速度受影响了。
小的软件工坊通常都面临这样的问题。
我知道你想挥动一下魔杖,3分钟就完成这事,可惜这个事情只在哈里波特世界里面有。
呵呵呵,见笑了。请教一下,平时怎么记录呢?写个sql脚本?
@Daywei: 1、尽量不要修改数据库。
2、写开发日记,修改数据库的最好在开发日记中有,另外再有一个独立的修改数据库记录,SQL 2005或是2008可以每次修改数据库时,都生成一个修改脚本,打开这个选项,虽然很讨厌,但是是有用的。
3、如果超过一个人开发,最好所有数据库的修改由一个人完成。
@爱编程的大叔: 对于尽量不修改数据库这点不大可能,随着系统的逐步完善和庞大,势必会增加和修改数据库表,有可能一张表最后改的面目全非,对于这样的情况我表示无奈,要是有一个自动生成修改数据库的脚本的工具就好了,大侠可有推荐。
@Daywei:
1、修改数据库的时候,会自动生成一个脚本,那个就是可以在旧数据结构上运行的。
2、如果到了面目全非的情况,那基本上你就别指望能够顺利运行了。
3、这就是为什么软件要大版本号,小版本号的原因。
4、当你有这种客户需求的时候,要么你傻不收钱,要么收的钱就应该足够你建立三套系统,一套生产系统(客户)、一套测试系统,一套开发系统。每隔一段时间进行升级,先在测试系统上进行,没有问题就对生产系统进行。
@爱编程的大叔: 谢谢 前辈的指点。
代码是肯定要改的。
如果是B/S就很简单。
C/S的话,需要先升级原有程序,然后执行一个sql脚本,新增删除字段等。
写程序导数据