Open Paul-KMC opened 2 years ago
I think i have similar issue. My error is :
System.FormatException: The input string was not in the correct format.
System.VersionResult.SetFailure(ParseFailureKind failure, String argument) +14130905
System.Version.TryParseComponent(String component, String componentName, VersionResult& result, Int32& parsedComponent) +131
System.Version.TryParseVersion(String version, VersionResult& result) +187
System.Version.Parse(String input) +83
System.Version..ctor(String version) +31
Npgsql.NpgsqlMigrationSqlGenerator.Generate(IEnumerable`1 migrationOperations, String providerManifestToken) +224
System.Data.Entity.Migrations.DbMigrator.GenerateStatements(IList`1 operations, String migrationId) +89
System.Data.Entity.Migrations.Infrastructure.MigratorBase.GenerateStatements(IList`1 operations, String migrationId) +83
System.Data.Entity.Migrations.DbMigrator.ExecuteOperations(String migrationId, VersionedModel targetModel, IEnumerable`1 operations, IEnumerable`1 systemOperations, Boolean downgrading, Boolean auto) +1763
System.Data.Entity.Migrations.DbMigrator.ApplyMigration(DbMigration migration, DbMigration lastMigration) +1027
System.Data.Entity.Migrations.Infrastructure.MigratorBase.ApplyMigration(DbMigration migration, DbMigration lastMigration) +80
System.Data.Entity.Migrations.DbMigrator.Upgrade(IEnumerable`1 pendingMigrations, String targetMigrationId, String lastMigrationId) +297
System.Data.Entity.Migrations.Infrastructure.MigratorBase.Upgrade(IEnumerable`1 pendingMigrations, String targetMigrationId, String lastMigrationId) +88
System.Data.Entity.Migrations.DbMigrator.UpdateInternal(String targetMigration) +986
System.Data.Entity.Migrations.<>c__DisplayClass42_0.<Update>b__0() +49
System.Data.Entity.Migrations.DbMigrator.EnsureDatabaseExists(Action mustSucceedToKeepDatabase) +771
System.Data.Entity.Migrations.Infrastructure.MigratorBase.EnsureDatabaseExists(Action mustSucceedToKeepDatabase) +72
System.Data.Entity.Migrations.DbMigrator.Update(String targetMigration) +178
System.Data.Entity.Migrations.Infrastructure.MigratorBase.Update() +48
System.Data.Entity.MigrateDatabaseToLatestVersion`2.InitializeDatabase(TContext context) +270
System.Data.Entity.Internal.<>c__DisplayClass66_0`1.<CreateInitializationAction>b__0() +230
System.Data.Entity.Internal.InternalContext.PerformInitializationAction(Action action) +154
System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization() +730
System.Data.Entity.Internal.<>c.<InitializeDatabase>b__58_0(InternalContext c) +43
System.Data.Entity.Internal.RetryAction`1.PerformAction(TInput input) +230
System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(Action`1 action) +340
System.Data.Entity.Internal.LazyInternalContext.InitializeDatabase() +180
System.Data.Entity.Internal.InternalContext.Initialize() +69
System.Data.Entity.Database.Initialize(Boolean force) +114
I traced the issue to postgres server version. I'm running postgres in docker (i tried newest 12-buster and 13-buster versions).
Postgres version as returned by NpgsqlServices.GetDbProviderManifestToken
is 12.8 (Debian 12.8-1.pgdg100+1)
and is not parsed properly.
Any update on this ?
This error is a show stopper, and forced me to downgrade Npgsql to version 5.
To show that it's not only postgres on docker problem i have checked version returned by SELECT version();
on postgres 12.9 on windows and it's PostgreSQL 12.9, compiled by Visual C++ build 1914, 64-bit
. Postgres on linux returns PostgreSQL 12.3 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.3.1 20191121 (Red Hat 8.3.1-5), 64-bit
.
@juszczukd the EF 6 (non-Core) provider is pretty much archived at this point - no efforts are going into it.
I'd recommend against trying to use the EF 6 provider with newer versions of Npgsql, since those setups aren't being tested and may have various incompatibilities.
Hi all, Just submitted a PR to tentatively fix this
After upgrading the npgsql package to version 6.0.0, EF6 migrations to postgresql 12 are not applied. When downgrading to version 5.0.11, the problem does not occur. Trace stack when applying migration: Applying explicit migrations: [202112070713125_pk_Initialization]. Applying explicit migration: 202112070713125_pk_Initialization. System.FormatException: The input string was not in the correct format. at System.Version.VersionResult.SetFailure (ParseFailureKind failure, String argument) at System.Version.TryParseComponent (String component, String componentName, VersionResult & result, Int32 & parsedComponent) at System.Version.TryParseVersion (String version, VersionResult & result) at System.Version.Parse (String input) at System.Version..ctor (String version) at Npgsql.NpgsqlMigrationSqlGenerator.Generate (IEnumerable
1 migrationOperations, String providerManifestToken) at System.Data.Entity.Migrations.DbMigrator.ExecuteOperations (String migrationId, VersionedModel targetModel, IEnumerable
1 operations, IEnumerable1 systemOperations, Boolean downgrading, Boolean auto) at System.Data.Entity.Migrations.DbMigrator.ApplyMigration (DbMigration migration, DbMigration lastMigration) at System.Data.Entity.Migrations.Infrastructure.MigratorLoggingDecorator.ApplyMigration (DbMigration migration, DbMigration lastMigration) at System.Data.Entity.Migrations.DbMigrator.Upgrade (IEnumerable
1 pendingMigrations, String targetMigrationId, String lastMigrationId) at System.Data.Entity.Migrations.Infrastructure.MigratorLoggingDecorator.Upgrade (IEnumerable`1 pendingMigrations, String targetMigrationId, String lastMigrationId) at System.Data.Entity.Migrations.DbMigrator.UpdateInternal (String targetMigration) at System.Data.Entity.Migrations.DbMigrator.EnsureDatabaseExists (Action mustSucceedToKeepDatabase) at System.Data.Entity.Migrations.DbMigrator.Update (String targetMigration) at System.Data.Entity.Infrastructure.Design.Executor.Update. <> c__DisplayClass0_0. <. ctor> b__0 () at System.Data.Entity.Infrastructure.Design.Executor.OperationBase.Execute (Action action)