- 新增 ACME客户端功能,支持域名注册和证书申请 - 添加数据库模型和操作,用于存储和管理域名信息 - 实现 API 接口,提供域名注册、获取和分页查询功能 -集成全局错误处理和 panic捕获 - 添加单元测试和集成测试
34 lines
500 B
Go
34 lines
500 B
Go
package db
|
|
|
|
import (
|
|
"acme-mana-server-go/config"
|
|
"acme-mana-server-go/model"
|
|
"github.com/glebarez/sqlite"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
var db *gorm.DB
|
|
|
|
func init() {
|
|
initDb()
|
|
}
|
|
|
|
func Db() *gorm.DB {
|
|
return db
|
|
}
|
|
func initDb() {
|
|
conf := config.GetConfig()
|
|
dbConf := conf.Db
|
|
dbFile := dbConf.File
|
|
conn, err := gorm.Open(sqlite.Open(dbFile), &gorm.Config{})
|
|
if err != nil {
|
|
panic("failed to connect database")
|
|
}
|
|
err = conn.AutoMigrate(&model.Domain{})
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
db = conn
|
|
|
|
}
|