🎨 重构用户端前端为vue开发,完善基础类和角色相关接口
This commit is contained in:
48
server/initialize/gorm_pgsql_extension.go
Normal file
48
server/initialize/gorm_pgsql_extension.go
Normal file
@@ -0,0 +1,48 @@
|
||||
package initialize
|
||||
|
||||
import (
|
||||
"git.echol.cn/loser/st/server/global"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
// InitPgSQLExtension 初始化 PostgreSQL 扩展(仅创建 pgvector 扩展)
|
||||
// 必须在 AutoMigrate 之前调用
|
||||
func InitPgSQLExtension() {
|
||||
if global.GVA_CONFIG.System.DbType != "pgsql" {
|
||||
return
|
||||
}
|
||||
|
||||
db := global.GVA_DB
|
||||
|
||||
// 安装 pgvector 扩展(用于向量存储)
|
||||
if err := db.Exec("CREATE EXTENSION IF NOT EXISTS vector").Error; err != nil {
|
||||
global.GVA_LOG.Error("failed to create pgvector extension", zap.Error(err))
|
||||
global.GVA_LOG.Warn("请确保 PostgreSQL 已安装 pgvector 扩展")
|
||||
} else {
|
||||
global.GVA_LOG.Info("pgvector extension is ready")
|
||||
}
|
||||
}
|
||||
|
||||
// CreateVectorIndexes 创建向量索引
|
||||
// 必须在 AutoMigrate 之后调用(确保表已存在)
|
||||
func CreateVectorIndexes() {
|
||||
if global.GVA_CONFIG.System.DbType != "pgsql" {
|
||||
return
|
||||
}
|
||||
|
||||
db := global.GVA_DB
|
||||
|
||||
// 为 ai_memory_vectors 表创建 HNSW 索引(余弦相似度)
|
||||
sql := `
|
||||
CREATE INDEX IF NOT EXISTS idx_memory_vectors_embedding
|
||||
ON ai_memory_vectors
|
||||
USING hnsw (embedding vector_cosine_ops)
|
||||
`
|
||||
|
||||
if err := db.Exec(sql).Error; err != nil {
|
||||
global.GVA_LOG.Error("failed to create vector indexes", zap.Error(err))
|
||||
return
|
||||
}
|
||||
|
||||
global.GVA_LOG.Info("vector indexes created successfully")
|
||||
}
|
||||
Reference in New Issue
Block a user