Skip to main content
Version: 0.7.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)
}