createAdditionalIndexes 创建额外的索引
(db *gorm.DB)
| 105 | |
| 106 | // createAdditionalIndexes 创建额外的索引 |
| 107 | func createAdditionalIndexes(db *gorm.DB) error { |
| 108 | // 创建唯一索引 |
| 109 | if err := db.Exec(` |
| 110 | CREATE UNIQUE INDEX IF NOT EXISTS idx_artifact_version |
| 111 | ON session_artifacts(session_id, name, version) |
| 112 | `).Error; err != nil { |
| 113 | return err |
| 114 | } |
| 115 | |
| 116 | // 创建复合索引 |
| 117 | if err := db.Exec(` |
| 118 | CREATE INDEX IF NOT EXISTS idx_state_scope |
| 119 | ON session_states(session_id, scope) |
| 120 | `).Error; err != nil { |
| 121 | return err |
| 122 | } |
| 123 | |
| 124 | return nil |
| 125 | } |
| 126 | |
| 127 | // Create 实现 session.Service 接口 |
| 128 | func (s *Service) Create(ctx context.Context, req *session.CreateRequest) (*session.SessionData, error) { |