gpt4 book ai didi

php - 是否有一个 "automated"过程来更改整个代码中的 SQL 列名称?

转载 作者:行者123 更新时间:2023-11-29 01:43:06 28 4
gpt4 key购买 nike

如果一个数据库被许多不同的代码使用,那么在整个过程中传播数据库更改的最实用的过程是什么?

我有一个个人 mysql 数据库,我一直在“进化”。但是,我也有很多已经建立的 PHP 代码,可以使用该数据库中的特定列名。除了在整个代码中手动查找/替换列名之外,是否有既定的方法/方式/过程来更改列名并将其传播到整个代码?

从我有限的角度来看,我想它可能需要从等式的语言方面来解决,即,也许是某种类型的扩展功能,比如 PDO。

也许最简单的方法就是在代码开头定义一个“缓冲”层,将当前数据库的列名定义为变量?

最佳答案

最好的办法是将数据的持久性与该数据在您的应用中的使用方式分开。你的数据库结构不应该定义你的应用程序的结构。在您的应用程序中,您通过对象或定义的数组结构来传递数据。在某个指定点,您将这些对象/数组存储到数据库中,因为您希望保留它们以供以后使用。为此,您有一个定义点,将数据对象/数组放入数据库,反之亦然。这意味着这一点是您引用特定于数据库的名称的唯一一点。如果需要更改数据库模式,只需更新处理数据库对象转换的薄层;您不需要更新“整个应用程序”,因为应用程序的其余部分指的是您定义的数据对象的命名。

这通常称为 Object-Relational Mapping , Data Access Layer及其他相关技术。

+----------+ +-----+ +---...
| | | | |
| Database <-> DAL | | rest of your app...
| | | | |
+----------+ +-----+ +---...

数据库结构和有形数据对象之间的转换只发生在 DAL 中。应用程序的其余部分只是与 DAL 对话以获取或存储数据对象,它不需要知道或关心数据库结构到底是什么样子。

关于php - 是否有一个 "automated"过程来更改整个代码中的 SQL 列名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14300531/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com