A Prisma Studio-like database management UI that mounts directly into your Go application. Browse schemas, manage data, run SQL, export ERD diagrams, and import data — all from a single studio.Mount() call.
GORM Studio provides a complete set of tools for database management, all accessible through a web UI that mounts directly into your Go application.
Automatically introspects your database schema and GORM model structs via reflection. Works with SQLite, PostgreSQL, and MySQL.
Paginated data grid with column sorting, full-text search, and per-column filtering. See all your data at a glance.
Create, edit, and delete records through an intuitive modal interface. Supports bulk delete and composite primary keys.
Navigate foreign key relationships between tables. Supports has_one, has_many, belongs_to, and many_to_many relations.
Execute raw SQL queries with automatic read/write detection. DDL statements are blocked for safety. Full result display.
Export schemas as SQL DDL, JSON, YAML, DBML, or visual ERD diagrams in PNG and PDF format.
Import data from JSON, CSV, SQL, and Excel files. Import schemas from SQL, JSON, YAML, or DBML to create tables.
Generate Go model structs from your database schema with proper GORM tags, type mapping, and relationship fields.
Add GORM Studio to any Go application with just a few lines of code.
package main
import (
"github.com/gin-gonic/gin"
"github.com/glebarez/sqlite"
"gorm.io/gorm"
"github.com/MUKE-coder/gorm-studio/studio"
)
type User struct {
ID uint `gorm:"primaryKey"`
Name string `gorm:"size:100"`
Email string `gorm:"uniqueIndex"`
}
func main() {
db, _ := gorm.Open(sqlite.Open("app.db"), &gorm.Config{})
db.AutoMigrate(&User{})
r := gin.Default()
studio.Mount(r, db, []interface{}{&User{}})
r.Run(":8080") // Visit http://localhost:8080/studio
}