[GORM]MySQL のデータベースへ接続する方法

Go 言語GORM を使用して MySQL のデータベースへ接続する方法をメモしておきます。

GORM で MySQL のデータベースへ接続する

下記の内容を設定し、データベースへ接続します。

  • Host : ホスト名( localhost とか AWS の RDS の URL )
  • Username : DBへアクセス可能なユーザ名
  • Password : ユーザ名とペアとなるパスワード
  • DBName : データベース名
  • Port : 3306 などのポート番号
// NewDB
func NewDB() *DB {
    conf, err := NewDBConfig()
    if err != nil {
        log.Fatal("Error : can't configuration DB")
    }
    return newDB(
        &DB{
            Host:     conf.DB.Host,
            Username: conf.DB.Username,
            Password: conf.DB.Password,
            DBName:   conf.DB.DBName,
            Port:     conf.DB.Port,
        },
    )
}

// newDB DB接続
func newDB(d *DB) *DB {
    db, err := gorm.Open("mysql", d.Username+":"+d.Password+"@tcp("+d.Host+":"+strconv.Itoa(d.Port)+")/"+d.DBName+"?charset=utf8&parseTime=True&loc=Local")
    if err != nil {
        panic(err.Error())
    }

    d.Connection = db

    return d
}

NewDBmain.go などのメインの実行ファイルで呼び出します。そうすることで「 newDB 」が呼び出され、 GORM による MySQL への接続がオープンされます。

db, err := gorm.Open("mysql", d.Username+":"+d.Password+"@tcp("+d.Host+":"+strconv.Itoa(d.Port)+")/"+d.DBName+"?charset=utf8&parseTime=True&loc=Local")

この部分が実際の接続に必要な部分なので、それ以外の実装は開発環境などに応じて変更すれば良いと思います。

最後に

MySQL のデータベースへ接続する処理は GORMMySQL を使用する場合は必ず実装する処理ですが、1回実装してしまえば終わりでなかなか覚えられないので他のプロジェクトでも使えるようにここにメモしておきます。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です