package database import ( "database/sql" "fmt" "github.com/gin-gonic/gin" _ "github.com/lib/pq" ) const CONNECTION_SUCCESS string = ` Connection successful! ` const CONNECTION_FAILURE string = ` Connection failed! %s ` // Test a connection to a database func TestConnectionURL(c *gin.Context) { var driver string switch c.PostForm("db-driver") { case "postgresql": driver = "postgres" default: c.String(200, fmt.Sprintf(CONNECTION_FAILURE, "Unsupported driver")) return } // Open connection conn, err := sql.Open(driver, c.PostForm("db-url")) if err != nil { fmt.Println(err) c.String(200, CONNECTION_FAILURE) } // Ping/test connection if err := conn.Ping(); err != nil { c.String(200, fmt.Sprintf(CONNECTION_FAILURE, err.Error())) return } c.String(200, CONNECTION_SUCCESS) }