我面临从数据库中提取数据的问题。问题是我有多个版本的数据库。每个版本的可用列数不同,并且列的名称(标签)也可能发生变化。
例如:
一个版本有名为 的列contact
,但另一个版本是contact_name
(它们代表相同的信息)。
问题是如何处理列名可以从一个数据库版本更改为另一个数据库版本的这种情况。此外,如果可能,如果已将更多信息(列)添加到数据库中,则减少更改我的源代码的需要。
在开始编码之前,我想听听一些建议。
我面临从数据库中提取数据的问题。问题是我有多个版本的数据库。每个版本的可用列数不同,并且列的名称(标签)也可能发生变化。
例如:
一个版本有名为 的列contact
,但另一个版本是contact_name
(它们代表相同的信息)。
问题是如何处理列名可以从一个数据库版本更改为另一个数据库版本的这种情况。此外,如果可能,如果已将更多信息(列)添加到数据库中,则减少更改我的源代码的需要。
在开始编码之前,我想听听一些建议。
如果您无法更改数据库,请查看在代码和数据库之间实现抽象层:
数据库抽象层通过向开发人员提供一致的 API 来减少工作量,并尽可能地将数据库细节隐藏在该接口后面。
然后,您可以在不担心底层结构的情况下进行开发,并包含有关在该层内的什么数据库中使用哪些列的所有信息。
在实践中,您将使用什么取决于您使用的语言、您使用的数据库以及应用程序的设计方式。