DbMigration.cs 998 B

12345678910111213141516171819202122232425262728293031323334
  1. using System.Threading.Tasks;
  2. using MediaBrowser.Common.ScheduledTasks;
  3. using MediaBrowser.Controller.Configuration;
  4. using MediaBrowser.Server.Implementations.Persistence;
  5. namespace MediaBrowser.Server.Startup.Common.Migrations
  6. {
  7. public class DbMigration : IVersionMigration
  8. {
  9. private readonly IServerConfigurationManager _config;
  10. private readonly ITaskManager _taskManager;
  11. public DbMigration(IServerConfigurationManager config, ITaskManager taskManager)
  12. {
  13. _config = config;
  14. _taskManager = taskManager;
  15. }
  16. public void Run()
  17. {
  18. if (_config.Configuration.MigrationVersion < CleanDatabaseScheduledTask.MigrationVersion)
  19. {
  20. return;
  21. }
  22. Task.Run(async () =>
  23. {
  24. await Task.Delay(2000).ConfigureAwait(false);
  25. _taskManager.QueueScheduledTask<CleanDatabaseScheduledTask>();
  26. });
  27. }
  28. }
  29. }