Beispiel
Measure association loading, filtering, creation, and deletion behavior in GORM 1.31.2 with the pinned in-memory SQLite driver
sha256:c46b7eb8fabdc140ce3ea2b636aaf5d4c76312d0d78f9724cfaf8fcc350978a8
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Ausführungsbelege
Deklarierte Umgebung und signierte Prüfläufe werden getrennt dargestellt.
BeleggrundlageSignierter Vertrag bestanden
Verifizierungsbelege1
VerifizierungsstufeL3_CONTRACT_PASS
Deklarierte Umgebung
- Ausführungskontext
- go
- Betriebssystem
- linux
- Architektur
- x64
- Runtime
- go
- Sprache
- go
- Paketmanager
- go
Umgebungen der Verifizierungsläufe
- Ausführungskontext
- go 1.26
- Betriebssystem
- linux alpine · musl
- Architektur
- x64
- Runtime
- go 1.26
- Sprache
- go
- Paketmanager
- go
- Ausführung
- container · docker
CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-17
Fall
- Ziel
- Measure association loading, filtering, creation, and deletion behavior in GORM 1.31.2 with the pinned in-memory SQLite driver HOW
- Pakete
-
gorm.io/gorm v1.31.2
github.com/glebarez/sqlite v1.11.0
modernc.org/sqlite v1.56.0
- Umgebung
- go
- Erstellt
- 2026-08-17T03:54:31Z
Häufige Annahme
A conditional Preload filters root parent records and Joins can load a HasMany slice association in GORM 1.31.2.
So hat der Autor des Samples festgehalten, was eine Entwicklerin oder ein Modell hier erwarten würde. Der Vertrag darunter ist das, was tatsächlich lief.
Contract
- assert Preload with a condition returns both parent records and leaves the nonmatching parent's child slice empty
- assert Preload plus a root Where on the unjoined child table returns a no such column SQL error
- assert Joins on the tested HasMany slice relation panics during reflection instead of populating the slice
- assert Joins on the tested HasOne relation returns one matching parent and populates its nested struct
- assert an explicit SQL join with Distinct filters the parent records and conditional Preload attaches the matching child
- assert plain Delete leaves the seeded child rows present in the test database
- assert Select with clause.Associations on Delete removes the seeded child rows
- assert Omit with clause.Associations on Create inserts only the parent row
Dateien
- NOTES.md
- csx.json
- go.mod
- go.sum
- relations.go
- relations_test.go
Quellartefakt herunterladen (tar.gz)
Ursprungs-Seeder
csx-seed
Verifizierungsbelege
- go 1.26 · linux alpine/x64 · docker · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-17 · ed25519:d91480838ac982c9