请问如何做到在数据库设计改动之后,保证原数据不丢失的情况下进行数据迁移呢?

作为一个新手,在大学里面自学过Java编程,也做过几个用SSH的网站。但是没有机会做比较大型的项目。
在学校里做这些项目的时候,基本上都是先设计完所有功能,再进行编码,没有遇到需求改动,也没有项目上线之后去加入新的功能。
我的疑问是,如果一个项目需要后期不断加入新的功能,那么它的数据库是否需要在一开始就设计好呢?如果不是,那么如何做到在数据库设计改动之后,保证原数据不丢失的情况下进行数据迁移呢?(尤其想问hibernate是怎么做的)。

12345678_0001
浏览 101回答 2
2回答

慕标5832272

1.做之前数据库当然是设计好的,但在做的过程中肯定是会改动的,可能是需求变化,可能是解决方案的变化。2.这样,你说的数据迁移问题,是发生在项目已经上线了,数据都是又有的话,如果数据库改动非常大,那就通过sql导数据吧,hibernate没那么高级。如果数据库改动不大(这要看数据库设计人员的功力了),那也没什么数据迁移的问题了。代码的地方改改好了。3.渐进式开发?好的系统维护性很好,可扩展性强,这要在开发的时候在细节的地方就注意起来。“把变化的和不变的隔离开来”,“面向接口编程”,能用一些设计模式想必是极好的,但不要为了设计而设计哦。但实际情况时,一般(注意是一般)的大型项目,维护或者加新的功能,都会让你头疼的。

慕姐4208626

这种方法最好的情况是采用分层来设计,这样,如果有新功能,只需要根据功能来调用不同层的接口就可以了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java