npgsql/EntityFramework6.Npgsql

EF Core migrations timestamp without time zone field to timestamp with time zone

esersahin opened this issue · 0 comments

PostgreSql version 13.1 on debian operating system.
PgSql version is Npgsql.EntityFrameworkCore.PostgreSQL 6.0.0
My operating system is Macos

public class TimeStampDemo
{
public int Id { get; set; }

[Column(TypeName ="timestamp with time zone")]
public DateTime Ts { get; set; }

[Column(TypeName ="timestamp with time zone")]
public DateTime TsTz { get; set; }

}

When I want to change the ts column type in the TimeStampDemo table from timestamp without timezone to timestamp with timezone with ef migration, I get the following error.

dotnet ef database update command after getting this error.

What could be the cause of this error?

Build started...
Build succeeded.
info: Microsoft.EntityFrameworkCore.Infrastructure[10403]
Entity Framework Core 6.0.0 initialized 'AppDbContext' using provider 'Npgsql.EntityFrameworkCore.PostgreSQL:6.0.0+025fc55189ae41e3f2b98bcbe4eb44c505653700' with options: CommandTimeout=180
info: Microsoft.EntityFrameworkCore.Database.Command[20101]
Executed DbCommand (137ms) [Parameters=[], CommandType='Text', CommandTimeout='180']
SELECT EXISTS (SELECT 1 FROM pg_catalog.pg_class c JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespace WHERE c.relname='__EFMigrationsHistory');
info: Microsoft.EntityFrameworkCore.Database.Command[20101]
Executed DbCommand (70ms) [Parameters=[], CommandType='Text', CommandTimeout='180']
SELECT EXISTS (SELECT 1 FROM pg_catalog.pg_class c JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespace WHERE c.relname='__EFMigrationsHistory');
info: Microsoft.EntityFrameworkCore.Database.Command[20101]
Executed DbCommand (67ms) [Parameters=[], CommandType='Text', CommandTimeout='180']
SELECT "MigrationId", "ProductVersion"
FROM "__EFMigrationsHistory"
ORDER BY "MigrationId";
info: Microsoft.EntityFrameworkCore.Migrations[20402]
Applying migration '20220327214424_AlterTimestampDemo'.
Applying migration '20220327214424_AlterTimestampDemo'.
fail: Microsoft.EntityFrameworkCore.Database.Command[20102]
Failed executing DbCommand (180,356ms) [Parameters=[], CommandType='Text', CommandTimeout='180']
ALTER TABLE "TimeStampDemos" ALTER COLUMN "Ts" TYPE timestamp with time zone;
Failed executing DbCommand (180,356ms) [Parameters=[], CommandType='Text', CommandTimeout='180']
ALTER TABLE "TimeStampDemos" ALTER COLUMN "Ts" TYPE timestamp with time zone;
Npgsql.NpgsqlException (0x80004005): Exception while reading from stream
---> System.TimeoutException: Timeout during reading attempt
at Npgsql.Internal.NpgsqlConnector.g__ReadMessageLong|213_0(NpgsqlConnector connector, Boolean async, DataRowLoadingMode dataRowLoadingMode, Boolean readingNotifications, Boolean isReadingPrependedMessage)
at Npgsql.NpgsqlDataReader.NextResult(Boolean async, Boolean isConsuming, CancellationToken cancellationToken)
at Npgsql.NpgsqlDataReader.NextResult()
at Npgsql.NpgsqlCommand.ExecuteReader(CommandBehavior behavior, Boolean async, CancellationToken cancellationToken)
at Npgsql.NpgsqlCommand.ExecuteReader(CommandBehavior behavior, Boolean async, CancellationToken cancellationToken)
at Npgsql.NpgsqlCommand.ExecuteNonQuery(Boolean async, CancellationToken cancellationToken)
at Npgsql.NpgsqlCommand.ExecuteNonQuery()
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQuery(RelationalCommandParameterObject parameterObject)
at Microsoft.EntityFrameworkCore.Migrations.MigrationCommand.ExecuteNonQuery(IRelationalConnection connection, IReadOnlyDictionary2 parameterValues) at Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationCommandExecutor.ExecuteNonQuery(IEnumerable1 migrationCommands, IRelationalConnection connection)
at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(String targetMigration)
at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.UpdateDatabase(String targetMigration, String connectionString, String contextType)
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabaseImpl(String targetMigration, String connectionString, String contextType)
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabase.<>c__DisplayClass0_0.<.ctor>b__0()
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)
Exception while reading from stream