Skip to Content
DocumentationHome

Goofer ORM Docs

Type-safe database ORM for Go

Welcome to the Goofer ORM documentation!

Goofer is a powerful, type-safe ORM for Go that gives your structs a life of their own with relationships, migrations, and zero drama. You’ll find everything you need here to get started and make the most of Goofer ORM’s features.

If you can’t find what you’re looking for or have any questions, please open an issue!

You can always use the search in the top right corner or press CMD+K / CTRL+K to look for anything specific.

ℹ️

Goofer ORM is designed to provide a seamless developer experience with type safety, relationship modeling, and minimal boilerplate. Stop hand-writing SQL like it’s 1999 and let your structs take center stage!

Features

  • Type-safe: Fully leverages Go’s type system with generics
  • Zero drama: Simple, intuitive API with minimal boilerplate
  • Relationships: Support for one-to-one, one-to-many, and many-to-many relationships
  • Migrations: Easy schema migrations to evolve your database over time
  • Multiple dialects: Support for SQLite, MySQL, and PostgreSQL
  • Validation: Built-in validation using struct tags
  • Transactions: First-class support for database transactions
  • Hooks: Lifecycle hooks for entities (BeforeSave, AfterCreate, etc.)
  • Query Builder: Fluent API for building complex queries
  • Custom Queries: Support for raw SQL when needed
  • No Code Generation: Uses reflection and generics instead of code generation

Getting started

Reference

Help & Support


Goofer ORM supports multiple database dialects (SQLite, MySQL, PostgreSQL) and provides various features like migrations, relationships, transactions, and more. Take your Go database access to the next level!

Last updated on