在保留以前的列名称的同时重命名列

时间:2018-05-16 15:56:55

标签: postgresql

当我重命名列时,先前版本(取决于之前的列名称)和新部署版本(取决于新列名称)之间会出现打嗝。

我想知道postgresql是否有办法重命名列并保持以前的列名工作。

我想象的可能是某种代理列。我想知道Postgresql中是否有这样的功能。

我知道有一种方法可以在应用层解决这个问题。但是如果Postgresql支持这种事情,那对我们来说会更方便。

1 个答案:

答案 0 :(得分:2)

重命名列后,它就消失了。你无法真正得到它。

您可能正在寻找的是如何跨数据库更改和列迁移的标准做法。这种方法不那么花哨,但工作可靠:

  • 创建您要使用的新列
  • 部署代码以使用新列
  • 从旧列中将数据回填到新列
  • 发布后,通过将旧列重命名为其他内容来弃用旧列
  • 在新版本中,您可以完全删除旧列。