我想将基表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
在更改列类型之前,您必须先删除分区。或者复制表格,更改类型并重命名。