无法更改列,因为它是分区键的一部分



我想将基表SysLog中的一列从类型"没有时区的时间戳";至";带有时区的时间戳";使用以下MigrationBuilder命令的Npgsql6.0:

migrationBuilder.AlterColumn<DateTime>(
name: "Inserted",
table: "SysLog",
type: "timestamp with time zone",
nullable: true,
oldClrType: typeof(DateTime),
oldType: "timestamp without time zone",
oldNullable: true);

错误消息:Npgsql.PostgresException: '42P16: cannot alter column "Created" because it is part of the partition key of relation "SysLog"'

有什么办法解决这个问题吗?

该错误意味着您的表已为列";创建";。这样可以防止更改列类型。https://www.postgresql.org/docs/current/ddl-partitioning.html

在更改列类型之前,您必须先删除分区。或者复制表格,更改类型并重命名。

相关内容

  • 没有找到相关文章

最新更新