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
}
NewDB
を main.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
のデータベースへ接続する処理は GORM
と MySQL
を使用する場合は必ず実装する処理ですが、1回実装してしまえば終わりでなかなか覚えられないので他のプロジェクトでも使えるようにここにメモしておきます。
コメント