# README
GOMysql

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.
# Interfaces
Datastore ...