From 70233af5426b0d1c343ebe87183303a34a9aaa58 Mon Sep 17 00:00:00 2001
From: hutongqing <hutongqing@hnkhzn.com>
Date: 星期三, 20 十一月 2024 09:05:38 +0800
Subject: [PATCH] WIDESEAWCS_QuartzJob更新版本

---
 WIDESEAWCS_Server/WIDESEAWCS_Core/Seed/DBSeed.cs |   28 ++++++++++++++++++++++++++--
 1 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/Seed/DBSeed.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/Seed/DBSeed.cs
index bebf842..94924fa 100644
--- a/WIDESEAWCS_Server/WIDESEAWCS_Core/Seed/DBSeed.cs
+++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/Seed/DBSeed.cs
@@ -11,6 +11,7 @@
 using System.Reflection;
 using System.Text;
 using System.Threading.Tasks;
+using WIDESEAWCS_Core.Attributes;
 using WIDESEAWCS_Core.Const;
 using WIDESEAWCS_Core.DB;
 using WIDESEAWCS_Core.Helper;
@@ -106,7 +107,19 @@
                                     for (int i = 0; i < propertyInfos.Count; i++)
                                     {
                                         PropertyInfo propertyInfo = propertyInfos[i];
-                                        SugarColumn sugarColumn = propertyInfo.GetCustomAttribute<SugarColumn>();
+
+                                        SequenceAttribute? sequenceAttirbute = propertyInfo.GetCustomAttribute<SequenceAttribute>();
+                                        if (sequenceAttirbute != null)
+                                        {
+                                            int count = dbContext.Db.Ado.GetScalar($"SELECT COUNT(*) FROM sys.sequences WHERE name = '{sequenceAttirbute.SequenceName}'").ObjToInt();
+                                            if (count == 0)
+                                            {
+                                                string sql = $"CREATE SEQUENCE {sequenceAttirbute.SequenceName} AS [int] START WITH {sequenceAttirbute.StartWith} INCREMENT BY {sequenceAttirbute.Increment} MINVALUE {sequenceAttirbute.SeqMinValue} MAXVALUE {sequenceAttirbute.SeqMaxValue} {(sequenceAttirbute.IsCycle ? "CYCLE" : "")} CACHE";
+                                                dbContext.Db.Ado.ExecuteCommand(sql);
+                                            }
+                                        }
+
+                                        SugarColumn? sugarColumn = propertyInfo.GetCustomAttribute<SugarColumn>();
                                         if (sugarColumn != null)
                                         {
                                             if (!sugarColumn.IsIgnore)
@@ -151,7 +164,18 @@
                             for (int i = 0; i < propertyInfos.Count; i++)
                             {
                                 PropertyInfo propertyInfo = propertyInfos[i];
-                                SugarColumn sugarColumn = propertyInfo.GetCustomAttribute<SugarColumn>();
+
+                                SequenceAttribute? sequenceAttirbute = propertyInfo.GetCustomAttribute<SequenceAttribute>();
+                                if (sequenceAttirbute != null)
+                                {
+                                        int count = dbContext.Db.Ado.GetScalar($"SELECT COUNT(*) FROM sys.sequences WHERE name = '{sequenceAttirbute.SequenceName}'").ObjToInt();
+                                        if (count == 0)
+                                        {
+                                            string sql = $"CREATE SEQUENCE {sequenceAttirbute.SequenceName} AS [int] START WITH {sequenceAttirbute.StartWith} INCREMENT BY {sequenceAttirbute.Increment} MINVALUE {sequenceAttirbute.SeqMinValue} MAXVALUE {sequenceAttirbute.SeqMaxValue} {(sequenceAttirbute.IsCycle ? "CYCLE" : "")} CACHE";
+                                        dbContext.Db.Ado.ExecuteCommand(sql);
+                                        }
+                                }
+                                SugarColumn? sugarColumn = propertyInfo.GetCustomAttribute<SugarColumn>();
                                 if (sugarColumn != null)
                                 {
                                     if (!sugarColumn.IsIgnore)

--
Gitblit v1.9.3