public static IOpenCqrsAppBuilder EnsureDomainDbCreated(this IOpenCqrsAppBuilder builder) { using (var serviceScope = builder.App.ApplicationServices.CreateScope()) { var dbContext = serviceScope.ServiceProvider.GetService <DomainDbContext>(); dbContext.Database.Migrate(); } return(builder); }
public static IOpenCqrsAppBuilder EnsureCosmosDbCreated(this IOpenCqrsAppBuilder builder) { var dbContextFactory = builder.App.ApplicationServices.GetService <IDomainDbContextFactory>(); using (var dbContext = dbContextFactory.CreateDbContext()) { dbContext.Database.EnsureCreated(); } return(builder); }
public static IOpenCqrsAppBuilder EnsureCosmosDbSqlDbCreated(this IOpenCqrsAppBuilder builder, IOptions <DomainDbConfiguration> settings) { var documentClient = builder.App.ApplicationServices.GetService <IDocumentClient>(); CreateDatabaseIfNotExistsAsync(documentClient, settings.Value.DatabaseId).Wait(); CreateCollectionIfNotExistsAsync(documentClient, settings.Value.DatabaseId, settings.Value.AggregateCollectionId).Wait(); CreateCollectionIfNotExistsAsync(documentClient, settings.Value.DatabaseId, settings.Value.CommandCollectionId).Wait(); CreateCollectionIfNotExistsAsync(documentClient, settings.Value.DatabaseId, settings.Value.EventCollectionId).Wait(); return(builder); }