sozsoft-platform/api/src/Sozsoft.Platform.DbMigrator/PlatformDbMigratorModule.cs
Sedat Öztürk 429227df1d Initial
2026-02-24 23:44:16 +03:00

55 lines
2 KiB
C#

using Sozsoft.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;
using static Sozsoft.Settings.SettingsConsts;
namespace Sozsoft.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(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}Sozsoft.Platform.DbMigrator"));
// $"..{Path.DirectorySeparatorChar}..{Path.DirectorySeparatorChar}..{Path.DirectorySeparatorChar}"));
// }
});
}
}