Skip to main content
Version: 1.0.0

API Reference

Complete API documentation for the Quark ORM.

Core API​

  • Client - Creating and configuring the ORM client
  • Query Builder - Fluent type-safe query construction
  • CRUD - Create, Read, Update, Delete operations
  • Querying - Retrieving data: List, Find, aggregates, pagination

Model Definition​

  • Modeling - Struct tags, relations, hooks

Schema & Data​

Advanced Features​

Reference​

  • Dialects - Database dialect interface
  • Errors - Error types and handling
  • Routines - Stored procedures and functions

Quick Example​

package main

import (
"context"

_ "github.com/lib/pq"
"github.com/jcsvwinston/quark"
)

type User struct {
ID int64 `db:"id" pk:"true"`
Name string `db:"name"`
Email string `db:"email" quark:"unique"`
}

func main() {
client, _ := quark.New("postgres", "...")
ctx := context.Background()

// Create
user := &User{Name: "Alice", Email: "alice@example.com"}
quark.For[User](ctx, client).Create(user)

// Read
u, _ := quark.For[User](ctx, client).Find(user.ID)

// Query
users, _ := quark.For[User](ctx, client).
Where("active", "=", true).
OrderBy("created_at", "DESC").
List()

// Update
u.Name = "Alice Smith"
quark.For[User](ctx, client).Update(&u)

// Delete
quark.For[User](ctx, client).Delete(&u)
}