添加唯一约束并重复数据删除列数据

时间:2019-05-27 15:22:01

标签: database postgresql liquibase

我正在研究一个使用PostgreSQL和Liquibase的Spring项目。我需要向表中的特定列添加唯一约束。该表已经有很多条目,其中一些违反了新的唯一约束。

由于应用程序正在生产中,所以不能删除表。我需要对列中的数据进行某种修改,以便对重复项进行索引(例如,我们有2个值为'foo'的条目,在操作之后,这些条目应类似于'foo'和'foo2')

到目前为止,我仅实现了添加唯一约束的更改,但尚未实现此修改。 PostgreSQL或Liquibase中是否有任何功能可以解决此问题?

1 个答案:

答案 0 :(得分:0)

您需要创建一个SQL UPDATE查询(或多个查询),这些查询将修改数据库并实现更新重复项并为其设置唯一值的逻辑。

然后在liquibase中使用更改类型sql来指示liquibase运行该查询。