Neat Examples
This directory contains examples demonstrating various use cases of the neat Go ORM library.
Available Examples
- basic-orm - Basic ORM operations with the query builder (CRUD operations, simple queries)
- schema-builder - Creating and modifying database tables using the schema builder
- models - Using struct-based models for type-safe database operations
- configuration - Various configuration options for database connections
- migrations - Database migration examples with relationships and constraints
- advanced-queries - Advanced query builder features (joins, aggregations, subqueries)
- soft-deletes - NULL-based soft delete functionality
- max-date-soft-delete - Max-date sentinel soft delete strategy for NOT NULL compatibility
- associations - Model relationships (BelongsTo, HasMany, HasOne)
- observers - Model lifecycle event observers
- factory - Model factory patterns for testing
- json-queries - JSON column querying capabilities
- seeders - Database seeding examples
- transactions - Transaction handling patterns
Running Examples
Each example is self-contained and can be run independently:
cd examples/<example-name>
go run main.go
Prerequisites
Most examples use SQLite by default for simplicity. You can modify the DSN in each example to use PostgreSQL, MySQL, or SQL Server as needed.
Make sure you have the required database server running and valid credentials before running examples that connect to external databases.
Database Setup
For a quick start with SQLite, no additional setup is required. The examples will create a local SQLite file.
For other databases, ensure you have:
- The database server installed and running
- A database created
- Valid credentials with appropriate permissions
Modify the connection string in each example's main.go file to match your database configuration.