Categorygithub.com/go-packagist/gormer/v2
package
2.1.0
Repository: https://github.com/go-packagist/gormer.git
Documentation: pkg.go.dev

# README

Gorm'er —— GORM Manager

Go Version GoDoc codecov Go Report Card tests MIT license

Installation

go get github.com/go-packagist/gormer/v2

Usage

package main

import (
	"github.com/go-packagist/gormer/v2"
	"gorm.io/gorm"
)

func main() {
	m := gormer.NewManager(&gormer.Config{
		Default: "db1",
		Connections: map[string]gormer.Connection{
			"db1": &gormer.MySQLConfig{
				DSN: gormer.DSN{
					Host: "127.0.0.1",
					Port: 3306,
					User: "root",
					Pass: "123456",
					DB:   "test",
					Options: map[string]string{
						"charset":   "utf8mb4",
						"parseTime": "True",
					},
				}.String(),
				GormConfig: &gorm.Config{
					SkipDefaultTransaction: true,
				},
			},
			"db2": &gormer.MySQLConfig{
				DSN: gormer.DSN{
					Host: "...",
				}.String(),
			},
		},
	}, gormer.WithInstance) // Instance mode

	var user = struct {
		Name string
	}{}
	m.Connect("db1").DB.First(&user)
	gormer.Factory().Connect("db1").DB.First(&user) // use factory mode
	gormer.Gormer().Connect("db2").DB.First(&user)  // use instance mode
	gormer.Connect("db1").DB.First(&user)           // use instance mode
	gormer.Connect().DB.First(&user)                // use default connection
	gormer.Connect().First(&user)                   // use default connection and ignore `DB`

	println(gormer.Connect("db2").Err) // if db2 is err
}

License

The MIT License (MIT). Please see License File for more information.