瀏覽代碼

优化日志

qdy 2 月之前
父節點
當前提交
b91b963443
共有 2 個檔案被更改,包括 36 行新增67 行删除
  1. 17
    19
      sqldef/table_create.go
  2. 19
    48
      sqldef/table_manager.go

+ 17
- 19
sqldef/table_create.go 查看文件

@@ -33,7 +33,7 @@ func NewTableSyncer(db *sqlx.DB, dbType string) (*TableSyncer, error) {
33 33
 
34 34
 // CreateAllTables 同步所有注册的表
35 35
 // recreate: true - 表存在则删除重建;false - 表不存在则创建
36
-func (ts *TableSyncer) CreateAllTables(recreate bool) error {
36
+func (ts *TableSyncer) createAllTables(recreate bool) error {
37 37
 	// 确保注册表已初始化
38 38
 	globalRegistry.ensureInit()
39 39
 
@@ -136,33 +136,31 @@ func (ts *TableSyncer) createTable(table generators.TableDDL) error {
136 136
 	return nil
137 137
 }
138 138
 
139
-// CreateTables 创建所有不存在的表
140
-func (ts *TableSyncer) CreateTables() error {
141
-	return ts.CreateAllTables(false)
142
-}
143
-
144
-// RecreateTables 重建所有表
145
-func (ts *TableSyncer) RecreateTables() error {
146
-	return ts.CreateAllTables(true)
147
-}
148
-
149
-// 包级便捷函数
150
-
151 139
 // SyncTables 同步所有表
152
-func SyncTables(db *sqlx.DB, dbType string, recreate bool) error {
140
+func syncTables(db *sqlx.DB, dbType string, recreate bool) error {
153 141
 	syncer, err := NewTableSyncer(db, dbType)
154 142
 	if err != nil {
155 143
 		return err
156 144
 	}
157
-	return syncer.CreateAllTables(recreate)
145
+	return syncer.createAllTables(recreate)
158 146
 }
159 147
 
148
+// // CreateTables 创建所有不存在的表
149
+// func CreateTables(db *sqlx.DB, dbType string) error {
150
+// 	return syncTables(db, dbType, false)
151
+// }
152
+
153
+// // RecreateTables 重建所有表
154
+// func RecreateTables(db *sqlx.DB, dbType string) error {
155
+// 	return syncTables(db, dbType, true)
156
+// }
157
+
160 158
 // CreateTables 创建所有不存在的表
161
-func CreateTables(db *sqlx.DB, dbType string) error {
162
-	return SyncTables(db, dbType, false)
159
+func (ts *TableSyncer) CreateTables() error {
160
+	return ts.createAllTables(false)
163 161
 }
164 162
 
165 163
 // RecreateTables 重建所有表
166
-func RecreateTables(db *sqlx.DB, dbType string) error {
167
-	return SyncTables(db, dbType, true)
164
+func (ts *TableSyncer) RecreateTables() error {
165
+	return ts.createAllTables(true)
168 166
 }

+ 19
- 48
sqldef/table_manager.go 查看文件

@@ -3,6 +3,7 @@ package sqldef
3 3
 
4 4
 import (
5 5
 	"fmt"
6
+	"log"
6 7
 	"sync"
7 8
 
8 9
 	"git.x2erp.com/qdy/go-db/sqldef/generators"
@@ -85,9 +86,9 @@ func (f *TableManagerFactory) GetInstanceWithExecutor(executor DDLExecutor) *Tab
85 86
 	return f.instance
86 87
 }
87 88
 
88
-// SyncTables 同步所有注册的表结构(懒加载执行器)
89
+// createTables 建立所有注册的表结构(懒加载执行器)
89 90
 // recreate: true - 如果表存在则删除重建;false - 如果表不存在则创建
90
-func (tm *TableManager) SyncTables(recreate bool) error {
91
+func (tm *TableManager) createTables(recreate bool) error {
91 92
 	// 确保注册表已初始化
92 93
 	globalRegistry.ensureInit()
93 94
 
@@ -101,9 +102,9 @@ func (tm *TableManager) SyncTables(recreate bool) error {
101 102
 
102 103
 	// 按顺序处理所有表
103 104
 	for _, table := range tables {
104
-		err := tm.syncTable(table, recreate)
105
+		err := tm.createTable(table, recreate)
105 106
 		if err != nil {
106
-			return fmt.Errorf("同步表 %s 失败: %w", table.Name, err)
107
+			return fmt.Errorf("建立表 %s 失败: %w", table.Name, err)
107 108
 		}
108 109
 	}
109 110
 
@@ -127,8 +128,8 @@ func (tm *TableManager) isExecutorInitialized() bool {
127 128
 	return tm.initialized && tm.ddlExecutor != nil
128 129
 }
129 130
 
130
-// syncTable 同步单个表
131
-func (tm *TableManager) syncTable(table generators.TableDDL, recreate bool) error {
131
+// createTable 建立单个表
132
+func (tm *TableManager) createTable(table generators.TableDDL, recreate bool) error {
132 133
 	// 检查表是否存在
133 134
 	exists, err := tm.ddlExecutor.TableExists(table.Name)
134 135
 	if err != nil {
@@ -143,19 +144,19 @@ func (tm *TableManager) syncTable(table generators.TableDDL, recreate bool) erro
143 144
 			if err := tm.ddlExecutor.ExecuteDDL(dropSQL); err != nil {
144 145
 				return fmt.Errorf("删除表 %s 失败: %w", table.Name, err)
145 146
 			}
146
-			fmt.Printf("表 %s 已删除\n", table.Name)
147
+			log.Printf("表 %s 已删除\n", table.Name)
147 148
 
148 149
 			// 重新创建表
149 150
 			if err := tm.ddlExecutor.ExecuteDDL(table.SQL); err != nil {
150 151
 				return fmt.Errorf("创建表 %s 失败: %w", table.Name, err)
151 152
 			}
152
-			fmt.Printf("表 %s 已创建\n", table.Name)
153
+			log.Printf("表 %s 已创建\n", table.Name)
153 154
 		} else {
154 155
 			// 不存在直接创建
155 156
 			if err := tm.ddlExecutor.ExecuteDDL(table.SQL); err != nil {
156 157
 				return fmt.Errorf("创建表 %s 失败: %w", table.Name, err)
157 158
 			}
158
-			fmt.Printf("表 %s 已创建\n", table.Name)
159
+			log.Printf("表 %s 已创建\n", table.Name)
159 160
 		}
160 161
 	} else {
161 162
 		// 如果不存在就建立
@@ -163,42 +164,18 @@ func (tm *TableManager) syncTable(table generators.TableDDL, recreate bool) erro
163 164
 			if err := tm.ddlExecutor.ExecuteDDL(table.SQL); err != nil {
164 165
 				return fmt.Errorf("创建表 %s 失败: %w", table.Name, err)
165 166
 			}
166
-			fmt.Printf("表 %s 已创建\n", table.Name)
167
+			log.Printf("表 %s 已创建\n", table.Name)
167 168
 		} else {
168
-			fmt.Printf("表 %s 已存在,跳过创建\n", table.Name)
169
+			log.Printf("表 %s 已存在,跳过创建\n", table.Name)
169 170
 		}
170 171
 	}
171 172
 
172 173
 	return nil
173 174
 }
174 175
 
175
-// CreateTables 创建所有表(不存在则创建)
176
-func (tm *TableManager) CreateTables() error {
177
-	return tm.SyncTables(false)
178
-}
179
-
180 176
 // RecreateTables 重建所有表(存在则删除重建)
181 177
 func (tm *TableManager) RecreateTables() error {
182
-	return tm.SyncTables(true)
183
-}
184
-
185
-// CreateIndexes 创建索引
186
-func (tm *TableManager) CreateIndexes() error {
187
-	// 这里可以添加索引创建的逻辑
188
-	// 由于TableDDL中没有包含索引信息,所以暂时为空
189
-
190
-	// 暂时返回nil,表示索引创建成功(实际上是空的)
191
-	fmt.Println("创建索引方法(空实现)")
192
-	return nil
193
-}
194
-
195
-// CreateTablesAndIndexes 创建表及其索引(便捷方法)
196
-func (tm *TableManager) CreateTablesAndIndexes(recreateTables bool) error {
197
-	if err := tm.SyncTables(recreateTables); err != nil {
198
-		return err
199
-	}
200
-
201
-	return tm.CreateIndexes()
178
+	return tm.createTables(true)
202 179
 }
203 180
 
204 181
 // GetRegisteredTables 获取所有注册的表名
@@ -224,9 +201,9 @@ func (tm *TableManager) GetTableDDL(tableName string) (string, bool) {
224 201
 // PrintRegisteredTables 打印所有注册的表信息
225 202
 func (tm *TableManager) PrintRegisteredTables() {
226 203
 	tables := tm.GetRegisteredTables()
227
-	fmt.Printf("注册的表数量: %d\n", len(tables))
204
+	log.Printf("注册的表数量: %d\n", len(tables))
228 205
 	for i, name := range tables {
229
-		fmt.Printf("%d. %s\n", i+1, name)
206
+		log.Printf("%d. %s\n", i+1, name)
230 207
 	}
231 208
 }
232 209
 
@@ -234,17 +211,11 @@ func (tm *TableManager) PrintRegisteredTables() {
234 211
 // CreateAllTables 创建所有表(便捷函数,自动获取单例)
235 212
 func CreateAllTables(executor DDLExecutor) error {
236 213
 	tm := GetTableManagerWithExecutor(executor)
237
-	return tm.CreateTables()
238
-}
239
-
240
-// RecreateAllTables 重建所有表(便捷函数,自动获取单例)
241
-func RecreateAllTables(executor DDLExecutor) error {
242
-	tm := GetTableManagerWithExecutor(executor)
243
-	return tm.RecreateTables()
214
+	return tm.createTables(false)
244 215
 }
245 216
 
246
-// SyncAllTables 同步所有表(便捷函数,自动获取单例)
247
-func SyncAllTables(executor DDLExecutor, recreate bool) error {
217
+// DeleteAanCreateAllTables 删除并建立所有表(便捷函数,自动获取单例)
218
+func DeleteAanCreateAllTables(executor DDLExecutor) error {
248 219
 	tm := GetTableManagerWithExecutor(executor)
249
-	return tm.SyncTables(recreate)
220
+	return tm.createTables(true)
250 221
 }

Loading…
取消
儲存