migrate 创建表结构
()
| 63 | |
| 64 | // migrate 创建表结构 |
| 65 | func (s *MySQLStore) migrate() error { |
| 66 | query := fmt.Sprintf(` |
| 67 | CREATE TABLE IF NOT EXISTS %s ( |
| 68 | id VARCHAR(64) PRIMARY KEY, |
| 69 | namespace VARCHAR(255) NOT NULL, |
| 70 | scope VARCHAR(20) NOT NULL, |
| 71 | type VARCHAR(100) NOT NULL, |
| 72 | category VARCHAR(100), |
| 73 | `+"`key`"+` VARCHAR(255) NOT NULL, |
| 74 | value JSON NOT NULL, |
| 75 | description TEXT, |
| 76 | source_type VARCHAR(50), |
| 77 | confidence DECIMAL(5,4) DEFAULT 0, |
| 78 | sources JSON, |
| 79 | provenance_created_at TIMESTAMP NULL, |
| 80 | provenance_updated_at TIMESTAMP NULL, |
| 81 | provenance_version INT DEFAULT 0, |
| 82 | access_count INT DEFAULT 0, |
| 83 | last_accessed TIMESTAMP NULL, |
| 84 | metadata JSON, |
| 85 | created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, |
| 86 | updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, |
| 87 | UNIQUE KEY idx_namespace_key (namespace, `+"`key`"+`), |
| 88 | KEY idx_namespace (namespace), |
| 89 | KEY idx_namespace_type (namespace, type), |
| 90 | KEY idx_scope (scope), |
| 91 | KEY idx_confidence (confidence), |
| 92 | KEY idx_last_accessed (last_accessed) |
| 93 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci |
| 94 | `, s.tableName) |
| 95 | |
| 96 | _, err := s.db.Exec(query) |
| 97 | return err |
| 98 | } |
| 99 | |
| 100 | // Save 保存或更新 Memory |
| 101 | func (s *MySQLStore) Save(ctx context.Context, mem *LogicMemory) error { |