0
0

DbConfig.cs 2.5 KB

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