程序已经付给用户使用,后来又修改了数据库结构

程序已经交给用户使用,后来又修改了数据库结构
自己写的程序已经交给用户使用,后来又修改了数据库结构,包括添加删除字段、创建删除表,但是使用先前版本的用户已经在数据库中导入了很多数据,要给用户使用程序的新版本伴随着要更新数据库,请问只能将原来的数据库覆盖吗,这样的话用户原来导入的很多数据将丢失,重新导入将很费时间,本人新手,不清楚有什么解决方案和成熟的方法,能解决这种后期维护时修改数据库结构而产生的问题,难道数据库结构设计完成时候就不能修改吗

------解决方案--------------------
上面那一堆东西是我告诉你我们公司是如何实现这两点的例子,你可以参考,不过我相信短期内你们也很难做到。