【发布时间】:2020-12-19 09:21:23
【问题描述】:
我在 prod 环境中创建了一个 table1。我必须将列添加到现有的 table1。 我使用函数 create 来创建具有合适 ddl 的表。 要添加列,我应该在 prod 机器上手动添加它并更改 ddl。 还是只改变 ddl 就可以了?
谢谢
【问题讨论】:
-
请发布您的 ddl 函数以及您要添加的列的详细信息
标签: sql postgresql
我在 prod 环境中创建了一个 table1。我必须将列添加到现有的 table1。 我使用函数 create 来创建具有合适 ddl 的表。 要添加列,我应该在 prod 机器上手动添加它并更改 ddl。 还是只改变 ddl 就可以了?
谢谢
【问题讨论】:
标签: sql postgresql
据我所知,没有 create or replace table 语法这样的东西。这应该只适用于函数或视图。
使用ALTER TABLE Table1 ADD NewColumn {DATA_TYPE} 命令。
您提出问题的方式让我觉得您使用了 liquibase 之类的第三方数据库版本控制。如果是这种情况,请不要理会最初的创建 DDL,只需将其添加为单独的更改。如果您更改初始 ddl,它只会影响新数据库。
【讨论】:
ALTER TABLE 是一个 DDL 命令,所以我有点困惑
ALTER TABLE 并添加该列。还要在要添加列的任何其他环境上运行相同的 alter 命令。如果您使用代码运行自动数据库部署,则需要使用 ALTER 命令添加新的变更集。