是否有一种方法可以用不同的表名和列名表示一个数据库?
我正在创建一个大型的API重构,仅在MySQL数据库中重命名相当多的表名和列名才有意义,但是旧版本的API仍需要读取和写入现有数据库。数据基本相同,并且版本可以轻松共存。没有机会让两个数据库并行运行。
新的API域层与持久性层完全分开,但是在持久性层中,我想使用新的表名和列名正确地创建它,而不必为每个查询转换名称。
是否存在一种以多种方式表示数据库结构的方法-有效地命名变量?你能建议我一个解决方案吗? 是否有通过替换数据库架构来解决此问题的方法?
我希望API的两个版本可以对数据库进行读写操作,在数据库中可以存在表名(命名差异如下),但是表和数据相同。
+----------------------------+ +-------------------------+
| old_items | | new_items |
+----+----------+------------+ +----+----------+---------+
| id | meta_key | meta_value | | id | item_key | item_id |
+----+----------+------------+ +----+----------+---------+
该应用程序是用PHP编写的。
谢谢。
答案 0 :(得分:0)
为什么要重命名列,在获取列名称时可以使用别名。像
select metavalue as itemvalue from tablename
或
或者,您可以为每个实体创建两个单独的表。那是有道理的。