【问题标题】:Migration in PostgreSQL cast from string to uuidPostgreSQL 中从字符串转换为 uuid 的迁移
【发布时间】:2021-10-07 17:53:43
【问题描述】:

我的一位同事在我们的一个模型中添加了一个字段作为字符串而不是 Guid,因此我在新迁移中更正了类型,但是当我尝试应用迁移时出现错误:

“42804:列“last_modified_by_id”无法自动转换为 输入 uuid"

数据库是 PostgreSql。

数据库目前在表中没有任何记录,因此我不担心此表中的数据丢失,但创建该字段的迁移已在具有我们需要保留在其他表中的数据的数据库上运行。

有没有办法进行自定义转换,甚至只是删除列中的所有数据而不是尝试转换它。

【问题讨论】:

    标签: postgresql entity-framework-core entity-framework-migrations


    【解决方案1】:

    USING 带有显式转换表达式的子句将完成这项工作。在您的 SQL 控制台中运行此脚本:

    ALTER TABLE _table 
     ALTER COLUMN last_modified_by_id 
     TYPE uuid 
     USING last_modified_by_id::uuid;
    

    【讨论】:

      猜你喜欢
      • 2016-05-11
      • 2019-01-01
      • 2016-08-27
      • 2014-03-28
      • 1970-01-01
      • 2014-09-13
      • 1970-01-01
      • 2021-05-19
      • 2015-05-04
      相关资源
      最近更新 更多