using System; using System.Linq; namespace TProduct.DAL { //sql server 修改表名 exec sp_rename 'AfterSaleLog' , 'AfterSaleLog2' public partial class DataSetTool { private static string _dsVersion = null;//结构信息 public bool CheckDataSetVersion() { if (_dsVersion != null) return true; var dalSeting = new SoftSetting(); #region 获取当前版本 var listSetting = dalSeting.GetAll(); var dsStructVersionModel = (from x in listSetting where x.Type == "System" && x.Name == "DataSetStructVersion" select x).FirstOrDefault(); if (dsStructVersionModel == null) { dsStructVersionModel = new Entity.SoftSetting(); dsStructVersionModel.Type = "System"; dsStructVersionModel.Name = "DataSetStructVersion";//改成DataSetStructVersion dsStructVersionModel.Value = "20220101"; dsStructVersionModel.ID = dalSeting.Insert(dsStructVersionModel); } #endregion var before_version = dsStructVersionModel.Value; #region WorkBenchBase 添加列 LinkInfo if (IsLastVersion(before_version, "20230505", false) < 0) { try { var dal_work = new TProduct.DAL.WorkBenchBase(); if (!dal_work.IsExistColumn("LinkInfoStr")) { dal_work.AddColumnTEXT("LinkInfoStr"); } if (!dal_work.IsExistColumn("MeterInfoStr")) { dal_work.AddColumnTEXT("MeterInfoStr"); } //if (dal_work.IsExistColumn("OutletPressureMeterID")) //{ // dal_work.DropColumn("OutletPressureMeterID"); //} //if (dal_work.IsExistColumn("MeterInfo")) //{ // dal_work.DropColumn("MeterInfo"); //} } catch //(Exception ex) { return false; } dsStructVersionModel.Value = "20230505"; dalSeting.Update(dsStructVersionModel); } #endregion #region ProductMain 添加列 Tag if (IsLastVersion(before_version, "20230605", false) < 0) { try { var dal_work = new TProduct.DAL.ProductMain(); if (!dal_work.IsExistColumn("Tag")) { dal_work.AddColumnTEXT("Tag"); } } catch //(Exception ex) { return false; } dsStructVersionModel.Value = "20230605"; dalSeting.Update(dsStructVersionModel); } #endregion #region TestProjectBase 添加列 Tag if (IsLastVersion(before_version, "20230605", false) < 0) { try { var dal_work = new TProduct.DAL.TestProjectBase(); if (!dal_work.IsExistColumn("Tag")) { dal_work.AddColumnTEXT("Tag"); } } catch //(Exception ex) { return false; } dsStructVersionModel.Value = "20230605"; dalSeting.Update(dsStructVersionModel); } #endregion TProduct.GlobeParas.DataSetStructVersion = dsStructVersionModel.Value; //if (before_version == _dsVersion.DataSetStructVersion) //{ // SPump.LogHelper.Info(string.Format("当前客户:{0}, 数据库结构版本: {1}, 没有必要进行数据库结构升级, 检查完成!", // SPump.GlobeParas.CorpName, // _dsVersion.DataSetStructVersion)); //} //else //{ // SPump.LogHelper.Info(string.Format("当前客户:{0}, 数据库结构版本由: {1} 升级到: {2}, 升级完成!", // SPump.GlobeParas.CorpName, // before_version, // _dsVersion.DataSetStructVersion)); //} return true; } private static int IsLastVersion(string v1, string v2, bool isIgnore) { if (string.IsNullOrEmpty(v1) && !string.IsNullOrEmpty(v2)) return -1; if (string.IsNullOrEmpty(v1) && string.IsNullOrEmpty(v2)) return 0; if (v1 == v2) return 0; if (v1.Length < 8 || v2.Length < 8) return 0; int year1 = Convert.ToInt32(v1.Substring(0, 4)); int month1 = Convert.ToInt32(v1.Substring(4, 2)); int day1 = Convert.ToInt32(v1.Substring(6, 2)); int year2 = Convert.ToInt32(v2.Substring(0, 4)); int month2 = Convert.ToInt32(v2.Substring(4, 2)); int day2 = Convert.ToInt32(v2.Substring(6, 2)); //SPump.LogHelper.Info("year1 " + year1 + " year2 " + year2); //SPump.LogHelper.Info("month1 " + month1 + " month2 " + month2); //SPump.LogHelper.Info("day1 " + day1 + " day2 " + day2); if (year1 > year2) return 1; if (year1 < year2) return -1; if (month1 > month2) return 1; if (month1 < month2) return -1; if (day1 > day2) return 1; if (day1 < day2) return -1; return 0; } public void ClearDataSetVersion() { _dsVersion = null; } public void SetServerStatus(bool isStopServer) { } } }