using Microsoft.Extensions.Configuration;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using YY.Admin.Core.Const;
namespace YY.Admin.Core.Option
{
///
/// 数据库配置选项
///
public sealed class DbConnectionOptions
{
///
/// 启用控制台打印SQL
///
public bool EnableConsoleSql { get; set; }
///
/// 超级管理员是否忽略逻辑删除过滤器
///
public bool SuperAdminIgnoreIDeletedFilter { get; set; }
///
/// 数据库
///
public List ConnectionConfigs { get; set; }
}
///
/// 数据库连接配置
///
public sealed class DbConnectionConfig : ConnectionConfig
{
///
/// 数据库名称
///
public string DbNickName { get; set; }
///
/// 数据库配置
///
public DbSettings DbSettings { get; set; }
///
/// 表配置
///
public TableSettings TableSettings { get; set; }
///
/// 种子配置
///
public SeedSettings SeedSettings { get; set; }
///
/// 隔离方式
///
public TenantTypeEnum TenantType { get; set; } = TenantTypeEnum.Id;
///
/// 数据库存储目录(仅SqlServer支持指定目录创建)
///
public string DatabaseDirectory { get; set; }
}
///
/// 数据库配置
///
public sealed class DbSettings
{
///
/// 启用库表初始化
///
public bool EnableInitDb { get; set; }
///
/// 启用视图初始化
///
public bool EnableInitView { get; set; }
///
/// 启用库表差异日志
///
public bool EnableDiffLog { get; set; }
///
/// 启用驼峰转下划线
///
public bool EnableUnderLine { get; set; }
///
/// 启用数据库连接串加密策略
///
public bool EnableConnStringEncrypt { get; set; }
}
///
/// 表配置
///
public sealed class TableSettings
{
///
/// 启用表初始化
///
public bool EnableInitTable { get; set; }
///
/// 启用表增量更新
///
public bool EnableIncreTable { get; set; }
}
///
/// 种子配置
///
public sealed class SeedSettings
{
///
/// 启用种子初始化
///
public bool EnableInitSeed { get; set; }
///
/// 启用种子增量更新
///
public bool EnableIncreSeed { get; set; }
}
}