35 lines
1.1 KiB
Go
35 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
database "cloud.etaviaporte.com/api/libs/database"
|
|
rbac "cloud.etaviaporte.com/api/libs/database/schemas/rbac"
|
|
)
|
|
|
|
func main() {
|
|
var connection = database.Init()
|
|
|
|
// Prepare a variable to hold the fetched user record.
|
|
// Replace rbac.User with the actual struct name if different.
|
|
var user rbac.User
|
|
|
|
// Fetch the user whose primary key is 1.
|
|
// GORM's First method, when given a numeric id as the second argument, queries by primary key.
|
|
result := connection.First(&user, 1)
|
|
|
|
// result.Error holds any error from the DB operation (including "record not found").
|
|
// result.RowsAffected tells how many rows were returned.
|
|
if result.Error != nil {
|
|
// Handle the error (could be gorm.ErrRecordNotFound or a DB/connection error).
|
|
// For learning purposes we print the error and exit main.
|
|
fmt.Printf("failed to fetch user with id=1: %v\n", result.Error)
|
|
return
|
|
}
|
|
|
|
// If no error, user now contains the row from the database.
|
|
// Print the struct with field names and values to inspect the loaded data.
|
|
fmt.Printf("User fetched: %+v\n", user)
|
|
|
|
}
|