gorm
by
jinzhu

Description: GORM V1, V2 moved to https://github.com/go-gorm/gorm

View on GitHub ↗

Summary Information

Updated 1 hour ago
Added to GitGenius on February 18th, 2025
Created on June 6th, 2020
Open Issues & Pull Requests: 11 (+0)
Number of forks: 195
Total Stargazers: 660 (+0)
Total Subscribers: 14 (+0)

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

GORM is an Object-Relational Mapping library for Go that provides a high-level abstraction layer for interacting with SQL databases. This repository specifically contains GORM V1, with V2 having been moved to a separate repository at go-gorm/gorm. The library implements the Active Record pattern, allowing developers to work with database records as Go objects rather than writing raw SQL queries.

The library supports multiple SQL database backends including SQLite, MySQL, PostgreSQL, and SQL Server, making it a versatile choice for Go applications that need to work across different database systems. GORM handles the complexity of database interactions by providing an abstraction layer that translates Go code into appropriate SQL statements for the target database.

Core functionality includes CRUD operations, allowing developers to Create, Read, Update, and Delete records through Go method calls. The library provides query building capabilities that enable developers to construct complex database queries programmatically without manually writing SQL. This query building approach reduces the likelihood of SQL injection vulnerabilities and makes database code more maintainable and type-safe.

GORM includes comprehensive support for data modeling through Go structs, where database tables are represented as struct types and columns as struct fields. The library handles relationships between models, supporting common patterns like one-to-many, many-to-many, and belongs-to associations. This relationship management simplifies working with related data across multiple tables.

Migration management is a built-in feature that allows developers to version and manage database schema changes alongside their application code. This capability ensures that database structure evolves in a controlled manner as the application develops.

The library provides transaction support, enabling developers to group multiple database operations into atomic units that either succeed completely or fail together, maintaining data consistency. This is critical for operations that require multiple related changes to succeed or fail as a single unit.

According to GitGenius activity analysis, this repository shows active development patterns with ongoing issue and pull request activity. The project has attracted contributions from multiple developers working on various aspects of the ORM functionality. The classification data indicates the repository is heavily focused on object-relational mapping, database abstraction, and SQL database operations, with particular emphasis on supporting multiple database systems and providing a complete toolkit for database-driven Go applications.

The documentation is available at v1.gorm.io, providing comprehensive guides for developers implementing GORM V1 in their projects. The decision to move V2 to a separate repository reflects the project's evolution and allows V1 users to maintain stability while V2 development proceeds independently with potentially breaking changes and new architectural approaches.

gorm
by
jinzhujinzhu/gorm

Repository Details

Fetching additional details & charts...