Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

dies ist ein Zeichen dafür, dass die Tabelle [dbo].[__MigrationHistory] defekt ist. Nach einem blick in diese Diese wird einem auffallen, dass alle einträge Einträge den ContextKey ContextKey "Visitmedia.SettingsProvider.SettingsDbContexthaben" haben


Dies ist fehlerhaft. Dieses Problem ist in der Regel relativ leicht mit den folgenden Scripten zu Reparierenreparieren, bedarf aber eine Lokale einer frischen ViCtor Installation, mit den gleichen Modulen wie der Kunde Sie hat. Es ist auch darauf zu achten, dass die selbe Version genutzt werden muss, wie der Kunde Sie hat. Mit diesen Scripten kann dann die defekte Migration History vom Kunden repariert werden. 

Es gibt dann 2 Scripte, welche man nutzen kann

  1. Reperatur Reparatur der bestehenden Einträge (Empfohlen)

    Code Block
    languagesql
    SELECT 'DELETE FROM [dbo].[__MigrationHistory] WHERE ContextKey != ''Visitmedia.SettingsProvider.SettingsDbContext'''
    UNION ALL
    SELECT CONCAT('UPDATE [dbo].[__MigrationHistory] SET [ContextKey] = ''',[ContextKey],''', [Model] = CONVERT(VARBINARY(max),''',CONVERT(VARCHAR(max),Model,2),''',2) WHERE [MigrationId] = ''',[MigrationId],'''')
      FROM [eazybusiness].[dbo].[__MigrationHistory]
  2. Neu anlegen der Datensätze

    Code Block
    languagesql
      select 'truncate table dbo.__MigrationHistory'
      union all
      SELECT CONCAT('INSERT INTO [dbo].[__MigrationHistory] (MigrationId,ContextKey,Model,ProductVersion) VALUES (''',[MigrationId],''',''',[ContextKey],''',CONVERT(VARBINARY(max),''',CONVERT(VARCHAR(max),Model,2),''',2),''',ProductVersion,''')')
      FROM [eazybusiness].[dbo].[__MigrationHistory]

...

Script 1, erstellt Update-Statements, welche auf basis Basis der Lokalen Daten Update-Befehle erzeugt, welche die Defekte Tabelle Reparieren reparieren sollte. 
Script 2 erstellt neue Insert-Statements, welche die Tabelle komplett neu aufbaut, dies kann aber dazu führen, dass Migrations Einträge übernommen werden, die bei der Defekten Version noch nicht drin sind (Neue Migrationen, oder Migrationen von anderen Modulen)

...