using Kurs.Platform.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Volo.Abp.Autofac; using Volo.Abp.Caching; using Volo.Abp.Caching.StackExchangeRedis; using Volo.Abp.Data; using Volo.Abp.Modularity; using Volo.Abp.VirtualFileSystem; namespace Kurs.Platform.DbMigrator; [DependsOn( typeof(AbpAutofacModule), typeof(AbpCachingStackExchangeRedisModule), typeof(PlatformEntityFrameworkCoreModule), typeof(PlatformApplicationContractsModule) )] public class PlatformDbMigratorModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) { var hostEnvironment = context.Services.GetSingletonInstance(); ConfigureVirtualFileSystem(context, hostEnvironment); Configure(options => { options.KeyPrefix = "Platform:"; }); var configuration = context.Services.GetConfiguration(); var connectionString = configuration.GetConnectionString(PlatformConsts.DefaultDatabaseProvider); Configure(options => { options.ConnectionStrings.Default = connectionString; }); } private void ConfigureVirtualFileSystem(ServiceConfigurationContext context, IHostEnvironment hostEnvironment) { Configure(options => { options.FileSets.AddEmbedded(); // if (hostEnvironment.IsDevelopment()) // { // options.FileSets.ReplaceEmbeddedByPhysical( // Path.Combine(hostEnvironment.ContentRootPath, // // $"..{Path.DirectorySeparatorChar}Kurs.Platform.DbMigrator")); // $"..{Path.DirectorySeparatorChar}..{Path.DirectorySeparatorChar}..{Path.DirectorySeparatorChar}")); // } }); } }