Apply .gitignore rules

This commit is contained in:
皮蛋13361098506
2025-01-06 16:21:36 +08:00
parent 1b77f62820
commit ccd2c530cf
580 changed files with 69806 additions and 0 deletions

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="Go" enabled="true" />
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@@ -0,0 +1,41 @@
package connection
import "gorm.io/gorm"
var (
// 存放实体结构
dbModelMap = make([]interface{}, 0)
//当前管理数据库
modelDB *gorm.DB
)
// RegisterDBModel 注册数据库模型到全局变量dbModelMap中。
// 这个函数接受一个interface{}类型的参数dbModel表示数据库模型。
// 函数的目的是将传入的数据库模型添加到全局变量dbModelMap中
// 以便在其他地方可以访问和使用这些数据库模型。
func RegisterDBModel(dbModel interface{}) {
// 将dbModel的地址添加到dbModelMap中。
// 这里使用地址是因为数据库模型可能比较大,通过引用存储可以提高效率。
dbModelMap = append(dbModelMap, &dbModel)
}
// 设置modelDB 类型
func SetModelDB(db *gorm.DB) {
modelDB = db
}
// BuildDB 用于遍历dbModelMap中的所有数据库模型并检查每个模型对应的表是否存在于数据库中。
// 如果表不存在,则自动迁移(创建)该表。这样可以确保数据库模式与程序中的模型保持同步。
func BuildDB() {
// 遍历dbModelMap中的每个元素
for _, dbModel := range dbModelMap {
// 检查数据库中是否存在与dbModel对应的表
tableExists := modelDB.Migrator().HasTable(dbModel)
if !tableExists {
// 如果表不存在,则进行自动迁移
modelDB.AutoMigrate(dbModel)
}
}
}

View File

@@ -0,0 +1,82 @@
package main
import (
"fmt"
"sync"
"time"
"goutil/stringUtil"
)
var (
wg sync.WaitGroup
)
func init() {
wg.Add(1)
}
func main() {
playerMgr := newPlayerMgr()
// insert
go func() {
for {
id := stringUtil.GetNewGUID()
name := fmt.Sprintf("Hero_%s", id)
obj := newPlayer(id, name)
playerMgr.insert(obj)
insert(obj)
time.Sleep(10 * time.Millisecond)
}
}()
/*
// update
go func() {
for {
obj := playerMgr.randomSelect()
if obj == nil {
continue
}
suffix := mathUtil.GetRandInt(1000)
newName := fmt.Sprintf("Hero_%d", suffix)
obj.resetName(newName)
update(obj)
time.Sleep(10 * time.Millisecond)
}
}()
// delete
go func() {
for {
obj := playerMgr.randomSelect()
if obj == nil {
continue
}
playerMgr.delete(obj)
clear(obj)
time.Sleep(10 * time.Millisecond)
}
}()
// errorFile
go func() {
for {
time.Sleep(1 * time.Hour)
id := stringUtil.GetNewGUID()
name := fmt.Sprintf("Hero_%s%s", id, id)
obj := newPlayer(id, name)
playerMgr.insert(obj)
print("errorFile")
insert(obj)
}
}()
*/
wg.Wait()
}