public void Can_log_provider_execution_warnings() { ResetDatabase(); var migrator = CreateMigrator<ShopContext_v1>(); migrator.Update(); var mockLogger = new Mock<MigrationsLogger>(); migrator = CreateMigrator<ShopContext_v1>(new WarningMigration()); var migratorLoggingDecorator = new MigratorLoggingDecorator( migrator, mockLogger.Object); migratorLoggingDecorator.Update(); mockLogger .Verify( ml => ml.Warning( "Warning! The maximum key length is 900 bytes. The index 'PK_PkTooLong' has maximum length of 902 bytes. For some combination of large values, the insert/update operation will fail."), Times.Once()); }
public ApplyMigrationResult ApplyMigrations(string migrationsConfiguration) { var configType = Type.GetType(migrationsConfiguration); var config = (DbMigrationsConfiguration)Activator.CreateInstance(configType); MigratorBase migrator = new DbMigrator(config); migrator = new MigratorLoggingDecorator(migrator, new MigrationLogR(config.ContextType.Name)); try { migrator.Update(); return ApplyMigrationResult.DatabaseUpToDate; } catch (AutomaticMigrationsDisabledException) { return ApplyMigrationResult.PendingModelChanges; } }