Herkese merhaba!

Uzun yıllardır bol miktarda kişisel zaman ve enerji harcayarak bilgimizi hepinizle paylaşıyoruz. Ancak şu andan itibaren bu blogu çalışır durumda tutabilmek için yardımınıza ihtiyacımız var. Yapmanız gereken tek şey, sitedeki reklamlardan birine tıklamak olacaktır, aksi takdirde hosting vb. masraflar nedeniyle maalesef yayından kaldırılacaktır. Teşekkürler.

Aşağıdaki paketi kullanarak, Golang testlerinde veritabanı kullanabilir ve mevcut olan veritabanı tablolarını temizleyebilirsiniz.


Database paketi


package test

import (
"database/sql"
"fmt"
)

func OpenDB(driver, address string, maxIdleConns int) *sql.DB {
db, _ := sql.Open(driver, address)
db.SetMaxIdleConns(maxIdleConns)

return db
}

func CloseDB(db *sql.DB) {
_ = db.Close()
}

func TruncateTables(db *sql.DB, tables []string) {
_, _ = db.Exec("SET FOREIGN_KEY_CHECKS=0;")

for _, v := range tables {
_, _ = db.Exec(fmt.Sprintf("TRUNCATE TABLE %s;", v))
}

_, _ = db.Exec("SET FOREIGN_KEY_CHECKS=1;")
}

Kullanım


// Obtain a database instance
db := test.OpenDB(// pass arguments here)

// Truncate tables.
test.TruncateTables(db, []string{"table1", "table2", // ....})

// Do something else.

// Close database.
test.CloseDB(db)