【问题标题】:Add unique constraint and deduplicate column data添加唯一约束和去重列数据
【发布时间】:2019-05-27 15:22:00
【问题描述】:

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

由于应用程序处于生产状态,因此不能选择删除表。我需要对列中的数据进行某种修改,以便为重复项编制索引(例如,我们有 2 个值为 'foo' 的条目,操作后这些条目应该看起来像 'foo' 和 'foo2') .

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

【问题讨论】:

    标签: database postgresql liquibase


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-25
      • 1970-01-01
      • 2018-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-11
      相关资源
      最近更新 更多