From 6e067a28d8527726a2a17045bef0f0e3d3430ed5 Mon Sep 17 00:00:00 2001 From: crupest Date: Fri, 23 Apr 2021 17:28:18 +0800 Subject: refactor: Refactor a lot. --- .../Services/Migration/CustomMigrationManager.cs | 55 ---------------------- 1 file changed, 55 deletions(-) delete mode 100644 BackEnd/Timeline/Services/Migration/CustomMigrationManager.cs (limited to 'BackEnd/Timeline/Services/Migration/CustomMigrationManager.cs') diff --git a/BackEnd/Timeline/Services/Migration/CustomMigrationManager.cs b/BackEnd/Timeline/Services/Migration/CustomMigrationManager.cs deleted file mode 100644 index f6f156cc..00000000 --- a/BackEnd/Timeline/Services/Migration/CustomMigrationManager.cs +++ /dev/null @@ -1,55 +0,0 @@ -using System.Collections.Generic; -using System.Threading.Tasks; -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.Logging; -using Timeline.Entities; - -namespace Timeline.Services.Migration -{ - public interface ICustomMigrationManager - { - Task Migrate(); - } - - public class CustomMigrationManager : ICustomMigrationManager - { - private IEnumerable _migrations; - private DatabaseContext _database; - - private ILogger _logger; - - public CustomMigrationManager(IEnumerable migrations, DatabaseContext database, ILogger logger) - { - _migrations = migrations; - _database = database; - _logger = logger; - } - - public async Task Migrate() - { - foreach (var migration in _migrations) - { - var name = migration.GetName(); - var did = await _database.Migrations.AnyAsync(m => m.Name == name); - - _logger.LogInformation("Found custom migration '{0}'. Did: {1}.", name, did); - - if (!did) - { - _logger.LogWarning("Begin custom migration '{0}'.", name); - - await using var transaction = await _database.Database.BeginTransactionAsync(); - - await migration.Execute(_database); - - _database.Migrations.Add(new MigrationEntity { Name = name }); - await _database.SaveChangesAsync(); - - await transaction.CommitAsync(); - - _logger.LogWarning("End custom migration '{0}'.", name); - } - } - } - } -} -- cgit v1.2.3