public CosmosConfigurationSource(CosmosStorageOptions options, SaveConfigurationOptions saveConfig, IConfiguration configSeed = null) { SaveConfig = saveConfig; Options = options; ConfigSeed = configSeed; }
public static IConfigurationBuilder AddSqliteConfigurationProvider(this IConfigurationBuilder builder, IFileProvider provider, string path, bool reloadOnChange, IConfiguration configSeed = null, Action <SaveConfigurationOptions> configureAction = null) { var saveConfig = new SaveConfigurationOptions(); configureAction?.Invoke(saveConfig); if (provider == null && Path.IsPathRooted(path)) { provider = new PhysicalFileProvider(Path.GetDirectoryName(path)); path = Path.GetFileName(path); } var source = new SqliteConfigurationSource(path, saveConfig) { ReloadOnChange = reloadOnChange, ConfigSeed = configSeed, SeedStrategy = SeedStrategy.Initialize, FileProvider = provider }; builder.Add(source); return(builder); }
public SqliteConfigurationSource(string dataFilePath, SaveConfigurationOptions saveConfig, IConfiguration configSeed = null, SeedStrategy strategy = SeedStrategy.Initialize) { SaveConfig = saveConfig; ConfigSeed = configSeed; DataFilePath = dataFilePath; DataDirectoryPath = new FileInfo(DataFilePath).Directory?.FullName; DataFileName = Path.GetFileName(DataFilePath); SeedStrategy = strategy; }
public static IConfigurationBuilder AddCosmosConfigurationProvider(this IConfigurationBuilder builder, Action <CosmosStorageOptions> configureDatabase, Action <SaveConfigurationOptions> configureOptions = null, bool reloadOnChange = false, IConfiguration configSeed = null) { var dbConfig = new CosmosStorageOptions(); configureDatabase?.Invoke(dbConfig); var saveConfig = new SaveConfigurationOptions(); configureOptions?.Invoke(saveConfig); var source = new CosmosConfigurationSource(dbConfig, saveConfig, configSeed) { ReloadOnChange = reloadOnChange }; builder.Add(source); return(builder); }
public static void MigrateToLatest(string dataFilePath, SaveConfigurationOptions saveConfig, IConfiguration configSeed = null, SeedStrategy strategy = SeedStrategy.InsertIfNotExists) { try { var connectionString = $"Data Source={dataFilePath}"; if (saveConfig.CreateIfNotExists) { CreateIfNotExists(connectionString); } var builder = new SqliteConnectionStringBuilder(connectionString) { Mode = SqliteOpenMode.ReadWrite }; using (var db = new SqliteConnection(builder.ConnectionString)) { db.Open(); if (saveConfig.MigrateOnStartup) { MigrateUp(db); } if (configSeed != null) { db.SeedInTransaction(configSeed, strategy); } } } catch (SqliteException e) { Trace.TraceError("Error migrating configuration database: {0}", e); throw; } }
static void DefaultSaveOptions(SaveConfigurationOptions o) { o.MigrateOnStartup = true; o.CreateIfNotExists = true; o.SeedStrategy = SeedStrategy.InsertIfNotExists; }