erp-platform/api/src/Kurs.Platform.DbMigrator/PlatformDbMigratorModule.cs
2025-06-10 23:34:46 +03:00

52 lines
2 KiB
C#

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<IHostEnvironment>();
ConfigureVirtualFileSystem(context, hostEnvironment);
Configure<AbpDistributedCacheOptions>(options => { options.KeyPrefix = "Platform:"; });
var configuration = context.Services.GetConfiguration();
var connectionString = configuration.GetConnectionString(PlatformConsts.DefaultDatabaseProvider);
Configure<AbpDbConnectionOptions>(options =>
{
options.ConnectionStrings.Default = connectionString;
});
}
private void ConfigureVirtualFileSystem(ServiceConfigurationContext context, IHostEnvironment hostEnvironment)
{
Configure<AbpVirtualFileSystemOptions>(options =>
{
options.FileSets.AddEmbedded<PlatformDbMigratorModule>();
// if (hostEnvironment.IsDevelopment())
// {
// options.FileSets.ReplaceEmbeddedByPhysical<PlatformDbMigratorModule>(
// Path.Combine(hostEnvironment.ContentRootPath,
// // $"..{Path.DirectorySeparatorChar}Kurs.Platform.DbMigrator"));
// $"..{Path.DirectorySeparatorChar}..{Path.DirectorySeparatorChar}..{Path.DirectorySeparatorChar}"));
// }
});
}
}