Categorygithub.com/illuminasy/gomysql
modulepackage
0.5.2
Repository: https://github.com/illuminasy/gomysql.git
Documentation: pkg.go.dev

# README

GOMysql Build Status Coverage Status GoDoc License

GOMysql A Simple logging package, prefixes logging level. Also supports error logging to bugsnag.

Currently supported middlewares:

Usage

Get the library:

$ go get -v github.com/illuminasy/gomysql

Mysql DB Migration


import github.com/illuminasy/gomysql/migrate

//MigrationDir default directory "./internal/database/migration/sql"
// copy all your migration sql there
// check github.com/golang-migrate/migrate/v4 for more details
config := gomysql.Config{
	DBHost: "localhost",
	DBPort: "3306",
	DBUser: "root",
	DBPass: "root",
	DBName: "testdb",
	MigrationDir "somedir" // use this to use custom directory
}

client := gomysql.GetClient(config)
err := client.Migrate()
if err != nil {
	fmt.Println(err)
}

Mysql

config := gomysql.Config{
	DBHost: "localhost"
	DBPort: "3306"
	DBUser: "root"
	DBPass: "root"
	DBName: "testdb"
	MigrationDir "somedir" // use this to use custom directory
}

// To check connection
status, err := c.ConnCheck()

Mysql with Newrelic

config := gomysql.Config{
	DBHost: "localhost"
	DBPort: "3306"
	DBUser: "root"
	DBPass: "root"
	DBName: "testdb"
	MigrationDir "somedir" // use this to use custom directory
	NewrelicEnabled: true
}

// To check connection
status, err := c.ConnCheck()

// To Query rows
client := gomysql.GetClient(config)
rows, err := client.QueryWithContext(ctx, "select * from table")
if err != nil {
	fmt.Println(err)
}

# Functions

GetClient ...
PrepareBatchInsertColumns prepares (?,?,?),(?,?,?),(?,?,?).
PrepareInsertColumn prepares (?,?,?).

# Constants

DefaultMigrationDir Default directory for migration sql files.
MaxIdleConns maximum idle connections.
MaxIdleConnsTime maximum idle connection timeout.
MaxOpenConns maximum open connections.
MaxOpenConnsTime maximum connection timeout.

# Structs

Client ...
Config ...

# Interfaces

Datastore ...