我有一个application_version1.0.0。要运行此应用程序(版本1.0.0),它应该连接到数据库(数据库的模式具有版本db_v1.0.0)。
我为我的应用程序添加了一些功能(我更改了一些表,我删除了其他表,..)。 现在,我的应用程序的版本为1.0.1,我的数据库的版本为1.0.1。
我需要的是当我有应用程序版本1.0.1时,它可以连接到版本1.0.0的数据库,我的应用程序将正确运行。不要忘记在我的应用程序中我对数据库有一些请求:
示例:
Database_version_1.0.0: the customer table have this fields (id, name);
Application_version_1.0.0: getPIDCustomer () {select name from customer ;}
现在:
Database_version_1.0.1: the customer table have this fields (id, PID, name).
Application_version_1.0.1: getPIDCustomer () {select name, pid from customer ;}
在此应用程序中,我可以打开旧版本数据库版本1.0.0
如何修改此项以允许我的application_version_1.0.1与database_version_1.0.0一起使用?
答案 0 :(得分:0)
过去我遇到过类似的问题。
步骤1:您的数据库版本必须是...在数据库中。我eman,一张桌子排成一排。 第2步:运行应用程序后读取db版本。每次您在不同的db版本中都有不同的数据时,您必须通过代码处理它。这需要付出很多努力。
还有更多的方式,但并不总是适用。这取决于您的应用程序的性质。 一种是具有反转数据的功能或视图。 例如,在你的getPIDCustomer()中你可以
select * from viewpidcustomer
在不同的db版本中,您有更多或更少的列。 您必须处理代码以查看列是否存在,如果不可能,则指定默认值或引发错误。