【发布时间】:2017-12-01 22:27:25
【问题描述】:
我们希望更改数据库中大量表的名称。当我们这样做时,是否有一种安全的方法来保持向后兼容?
例如,如果我们的代码引用了表 A,并且我们想将表 A 重命名为表 B,我们是否可以为表 A 命令设置别名,以便将它们发送到表 B?这样我们可以先迁移数据库,然后随着时间的推移迁移应用程序以指向新表。
【问题讨论】:
我们希望更改数据库中大量表的名称。当我们这样做时,是否有一种安全的方法来保持向后兼容?
例如,如果我们的代码引用了表 A,并且我们想将表 A 重命名为表 B,我们是否可以为表 A 命令设置别名,以便将它们发送到表 B?这样我们可以先迁移数据库,然后随着时间的推移迁移应用程序以指向新表。
【问题讨论】:
听起来可以用视图来完成,例如在这样做之后:
CREATE VIEW A AS SELECT * FROM B;
任何查询 A 的东西,实际上都会从真实的表 B 中获取数据。 但是它们的行为与表格不同,因此可能不合适,请先检查:
https://dev.mysql.com/doc/refman/5.7/en/view-restrictions.html
【讨论】: