Files
squad/src/Database/Configuration/DatabaseConfiguration.cs

47 lines
1.4 KiB
C#
Raw Normal View History

namespace Database.Configuration
{
public class DatabaseConfiguration
{
public const string SectionName = "Database";
public string ConnectionString { get; set; } = string.Empty;
public bool EnableSensitiveDataLogging { get; set; } = false;
public bool EnableDetailedErrors { get; set; } = false;
public int CommandTimeout { get; set; } = 30;
public bool AutoMigrate { get; set; } = false;
public bool SeedTestData { get; set; } = false;
public string Environment { get; set; } = "Development";
public PoolingOptions Pooling { get; set; } = new();
public RetryOptions Retry { get; set; } = new();
}
public class PoolingOptions
{
public int MinPoolSize { get; set; } = 5;
public int MaxPoolSize { get; set; } = 100;
public int ConnectionIdleLifetime { get; set; } = 300; // seconds
public int ConnectionPruningInterval { get; set; } = 10; // seconds
}
public class RetryOptions
{
public bool EnableRetryOnFailure { get; set; } = true;
public int MaxRetryCount { get; set; } = 5;
public int MaxRetryDelay { get; set; } = 30; // seconds
public List<string> ErrorNumbersToAdd { get; set; } = new();
}
}