using ZhonTai.Admin.Core.Consts;
using DataType = FreeSql.DataType;
namespace ZhonTai.Admin.Core.Configs;
///
/// 数据库配置
///
public class DbConfig
{
///
/// 数据库注册键
///
public string Key { get; set; } = DbKeys.AppDb;
///
/// 程序集名称
///
public string[] AssemblyNames { get; set; }
///
/// 数据库类型
///
public DataType Type { get; set; } = DataType.Sqlite;
///
/// 数据库字符串
///
public string ConnectionString { get; set; } = "Data Source=|DataDirectory|\\admindb.db; Pooling=true;Min Pool Size=1";
///
/// 指定程序集
///
public string ProviderType { get; set; }
///
/// 生成数据
///
public bool GenerateData { get; set; } = false;
///
/// 同步结构
///
public bool SyncStructure { get; set; } = false;
///
/// 同步结构脚本
///
public bool SyncStructureSql { get; set; } = false;
///
/// 同步数据
///
public bool SyncData { get; set; } = false;
///
/// 同步数据监听Curd操作
///
public bool SyncDataCurd { get; set; } = false;
///
/// 同步更新数据
///
public bool SysUpdateData { get; set; } = false;
///
/// 同步数据地址
///
public string SyncDataPath { get; set; } = "InitData/Admin";
///
/// 同步数据包含表列表
///
public string[] SyncDataIncludeTables { get; set; }
///
/// 同步数据排除表列表
///
public string[] SyncDataExcludeTables { get; set; }
///
/// 建库
///
public bool CreateDb { get; set; } = false;
///
/// 建库连接字符串
///
public string CreateDbConnectionString { get; set; }
///
/// 建库脚本
///
public string CreateDbSql { get; set; }
///
/// 监听所有操作
///
public bool MonitorCommand { get; set; } = false;
///
/// 监听Curd操作
///
public bool Curd { get; set; } = false;
///
/// 空闲时间(分),默认10分钟,设置idleTime=0则不自动回收
///
public int? IdleTime { get; set; } = 10;
///
/// 多数据库
///
public DbConfig[] Dbs { get; set; }
///
/// 读写分离从库列表
///
public SlaveDb[] SlaveList { get; set; }
}
///
/// 读写分离从库
///
public class SlaveDb
{
///
/// 数据库类型
///
public int Weight { get; set; } = 1;
///
/// 数据库连接字符串
///
public string ConnectionString { get; set; }
}