gorm ORMを使用して、小さくてシンプルな Web アプリを書いています。
データベースは Web アプリケーションとは関係なく失敗する可能性があるため、Web アプリケーションを再起動せずにデータベースに再接続できるように、このケースに対応するエラーを識別できるようにしたいと考えています。
動機付けの例:
次のコードを検討してください。
var mrs MyRowStruct
db := myDB.Model(MyRowStruct{}).Where("column_name = ?", value).First(&mrs)
return &mrs, db.Error
その
db.Error != nil
場合、エラーがデータベース接続の問題に起因しているかどうかをプログラムで判断するにはどうすればよいですか?私の読書から、それは接続を表して
gorm.DB
いないgorm.Open
ことを理解しているので、データベース接続が失敗した場合に再接続または呼び出しを再発行することについて心配する必要さえありますか?Go でデータベース障害を処理するための一般的なパターンはありますか?