Severity: minor Commit:488f11b — alpha Затронутые места:
store/gorm.go строки 38–41
В чём проблема
Несоответствие имени поля в БД и в модели Go. В модели Document поле называется LatestVersion, GORM по умолчанию преобразует его в snake_case (latest_version). Однако, в методе Update("latest_version", versionID) используется явное указание строки. Если в будущем будет изменена стратегия именования или используется специфический тег gorm:"column:...";, возникнет ошибка. Более того, в SQLite/GORM, если запись не найдена, Update() может не вернуть ошибку, но и не обновить ничего.
Цитата кода
if err := s.db.Model(&models.Document{}).Where("id = ?", docID).Update("latest_version", versionID).Error
Как исправить
Вариант 1 — Использовать обновление через структуру или map, чтобы избежать хардкода имен колонок.
Это делает код более устойчивым к изменениям в схеме БД.
Автоматическая проверка commit-keeper · модель gemma4:31b · sha=488f11b
**Severity:** minor
**Commit:** [`488f11b`](https://git.gm6.ru/icewind/seadoc/commit/488f11bd56db4f7e17b4b4bd9bd6e6f4f4a394c5) — alpha
**Затронутые места:**
- `store/gorm.go` строки 38–41
## В чём проблема
Несоответствие имени поля в БД и в модели Go. В модели Document поле называется LatestVersion, GORM по умолчанию преобразует его в snake_case (latest_version). Однако, в методе Update("latest_version", versionID) используется явное указание строки. Если в будущем будет изменена стратегия именования или используется специфический тег gorm:"column:...";, возникнет ошибка. Более того, в SQLite/GORM, если запись не найдена, Update() может не вернуть ошибку, но и не обновить ничего.
## Цитата кода
```
if err := s.db.Model(&models.Document{}).Where("id = ?", docID).Update("latest_version", versionID).Error
```
## Как исправить
### Вариант 1 — Использовать обновление через структуру или map, чтобы избежать хардкода имен колонок.
Это делает код более устойчивым к изменениям в схеме БД.
```
return s.db.Model(&models.Document{ID: docID}).Update("LatestVersion", versionID).Error
```
---
<sub><sup>Автоматическая проверка commit-keeper · модель `gemma4:31b` · `sha=488f11b`</sup></sub>
<!-- commit-keeper -->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Severity: minor
Commit:
488f11b— alphaЗатронутые места:
store/gorm.goстроки 38–41В чём проблема
Несоответствие имени поля в БД и в модели Go. В модели Document поле называется LatestVersion, GORM по умолчанию преобразует его в snake_case (latest_version). Однако, в методе Update("latest_version", versionID) используется явное указание строки. Если в будущем будет изменена стратегия именования или используется специфический тег gorm:"column:...";, возникнет ошибка. Более того, в SQLite/GORM, если запись не найдена, Update() может не вернуть ошибку, но и не обновить ничего.
Цитата кода
Как исправить
Вариант 1 — Использовать обновление через структуру или map, чтобы избежать хардкода имен колонок.
Это делает код более устойчивым к изменениям в схеме БД.
Автоматическая проверка commit-keeper · модель
gemma4:31b·sha=488f11b