Skip to content

Migration error on version 1.0.2 to 1.0.3

Laim edited this page Apr 11, 2024 · 2 revisions

Error

2024-04-11 19:53:13.406 +01:00 [Fatal] [AssetTrakr.App.Setup.FrmDatabaseUpgrade] Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 19: 'UNIQUE constraint failed: Contracts.UserAgreementId'.
   at Microsoft.Data.Sqlite.SqliteException.ThrowExceptionForRC(Int32 rc, sqlite3 db)
   at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader()
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteNonQuery()
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQuery(RelationalCommandParameterObject parameterObject)
   at Microsoft.EntityFrameworkCore.Migrations.MigrationCommand.ExecuteNonQuery(IRelationalConnection connection, IReadOnlyDictionary`2 parameterValues)
   at Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationCommandExecutor.ExecuteNonQuery(IEnumerable`1 migrationCommands, IRelationalConnection connection)
   at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(String targetMigration)
   at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.Migrate(DatabaseFacade databaseFacade)
   at AssetTrakr.App.Setup.FrmDatabaseUpgrade.btnMigrate_Click(Object sender, EventArgs e) in C:\Development\Source Code\AssetTrakr\AssetTrakr\AssetTrakr.App.Setup\FrmDatabaseUpgrade.cs:line 88

Fix

  • Open your database in DB Browser for SQLite
  • Go to the Contracts table
  • Enter a value for UserAgreementId for each contract

You can put in your correct contract values or just do 0, 1, 2, 3 etc. and once the migrations have applied, edit each contract in AssetTrakr directly, just ensure they're all unique!

Clone this wiki locally