/// <summary> /// Merges an additional migration provider /// </summary> /// <param name="provider"></param> public void Add(IMigrationsProvider provider) { if (!_providers.Contains(provider)) { _providers.Add(provider); } }
/// <summary> /// Allow to use custom migration provider /// </summary> /// <param name="provider"></param> /// <returns></returns> /// <exception cref="ArgumentNullException"></exception> public MigratorBuilder UseCustomMigrationsProvider(IMigrationsProvider provider) { if (provider == null) { throw new ArgumentNullException(nameof(provider)); } _migrationsProviders.Add(provider); return(this); }
/// <summary> /// Create a migrator instance using the given dependencies /// </summary> /// <param name="journal"></param> /// <param name="migrationsProvider"></param> /// <param name="progressReporter"></param> /// <param name="includeOnlineMigrationsDuringOffline"></param> public Migrator( IJournal journal, IMigrationsProvider migrationsProvider, IProgressReporter progressReporter, bool includeOnlineMigrationsDuringOffline = false) { _journal = journal; _migrationsProvider = migrationsProvider; _progressReporter = progressReporter; _includeOnlineMigrationsDuringOffline = includeOnlineMigrationsDuringOffline; }
public Migrator(IMigrationsProvider migrationsProvider) { this.migrationProviders = new [] {migrationsProvider}; }