DbConfig.cs 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. using DataType = FreeSql.DataType;
  2. namespace ZhonTai.Admin.Core.Configs;
  3. /// <summary>
  4. /// 数据库配置
  5. /// </summary>
  6. public class DbConfig
  7. {
  8. /// <summary>
  9. /// 数据库类型
  10. /// </summary>
  11. public DataType Type { get; set; } = DataType.Sqlite;
  12. /// <summary>
  13. /// 数据库字符串
  14. /// </summary>
  15. public string ConnectionString { get; set; } = "Data Source=|DataDirectory|\\admindb.db; Pooling=true;Min Pool Size=1";
  16. /// <summary>
  17. /// 指定程序集
  18. /// </summary>
  19. public string ProviderType { get; set; }
  20. /// <summary>
  21. /// 空闲时间(分)
  22. /// </summary>
  23. public int IdleTime { get; set; } = 10;
  24. /// <summary>
  25. /// 生成数据
  26. /// </summary>
  27. public bool GenerateData { get; set; } = false;
  28. /// <summary>
  29. /// 同步结构
  30. /// </summary>
  31. public bool SyncStructure { get; set; } = true;
  32. /// <summary>
  33. /// 同步数据
  34. /// </summary>
  35. public bool SyncData { get; set; } = true;
  36. /// <summary>
  37. /// 建库
  38. /// </summary>
  39. public bool CreateDb { get; set; } = true;
  40. /// <summary>
  41. /// 建库连接字符串
  42. /// </summary>
  43. public string CreateDbConnectionString { get; set; }
  44. /// <summary>
  45. /// 建库脚本
  46. /// </summary>
  47. public string CreateDbSql { get; set; }
  48. /// <summary>
  49. /// 监听所有操作
  50. /// </summary>
  51. public bool MonitorCommand { get; set; } = false;
  52. /// <summary>
  53. /// 监听Curd操作
  54. /// </summary>
  55. public bool Curd { get; set; } = false;
  56. /// <summary>
  57. /// 多数据库
  58. /// </summary>
  59. public MultiDb[] Dbs { get; set; }
  60. /// <summary>
  61. /// 分布式事务唯一标识
  62. /// </summary>
  63. public string DistributeKey { get; set; }
  64. /// <summary>
  65. /// 读写分离从库列表
  66. /// </summary>
  67. public SlaveDb[] SlaveList { get; set; }
  68. }
  69. /// <summary>
  70. /// 多数据库
  71. /// </summary>
  72. public class MultiDb
  73. {
  74. /// <summary>
  75. /// 数据库键
  76. /// </summary>
  77. public string Key { get; set; }
  78. /// <summary>
  79. /// 数据库类型
  80. /// </summary>
  81. public DataType Type { get; set; }
  82. /// <summary>
  83. /// 数据库字符串
  84. /// </summary>
  85. public string ConnectionString { get; set; }
  86. /// <summary>
  87. /// 指定程序集
  88. /// </summary>
  89. public string ProviderType { get; set; }
  90. }
  91. /// <summary>
  92. /// 读写分离从库
  93. /// </summary>
  94. public class SlaveDb
  95. {
  96. /// <summary>
  97. /// 数据库连接字符串
  98. /// </summary>
  99. public string ConnectionString { get; set; }
  100. /// <summary>
  101. /// 数据库类型
  102. /// </summary>
  103. public int Weight { get; set; } = 1;
  104. }