튜토리얼 Conectar PostgresSQL en Go con GORM
¿Que es GORM?
The fantastic ORM library for Golang, aims to be developer friendly
GORM es un ORM completo para Golang para Bases de datos relacionales (SQL) con todo lo necesario para interactuar con la base de Datos: Asociaciones, Hooks, Context, migrations, etc.
Espera… ¿Que es un ORM? 😂
Object Relational Mappings / Mapeadores de Objetos Relacionales
Es un modelo de programación que permite mapear las estructuras de una base de datos relacional sobre una estructura lógica de entidades… ¿Que 🙃? En palabras simples es una forma de Trabajar con objetos de programación con los datos y entidades de las Bases de datos relacionales con el propósito de simplificar y accelerar el desarrollo de nuestras aplicaciones
비엔... ¿Por donde empiezo?
테너 고 인스타라도
Go necesitamos Go(🤪), así que en la pagina oficial de Go 다운로드 가능한 최종 버전:
> go version
go version go1.15.6 windows/amd64
Go con go mod의 실행 모드
En la 카페타 en la que queremos empezar nuestro proyecto ejecutamos:
go mod init github.com/user/project
Eso Generara un nuevo proyecto de Go y podremos empezar a importar los paquetes necesarios para nuestro proyecto. PostgreSQL과 함께 GORM y el controlador de nuestra bases de datos, en este caso PostgreSQL.
go get github.com/jinzhu/gorm github.com/lib/pq
Ahora vamos a escribir codigo 😎
main.go
y connectDB.go
Dentro de una 카펫타 /storage
. 덴트로 델 main.go
:package main
import (
"log"
"github.com/user/project/storage"
)
func main() {
log.Println("Start Project")
DB := storage.ConnectDB()
defer DB.Close()
log.Println(DB.RowsAffected)
}
오류가 발생하지 않았으므로 오류가 발생하지 않았습니다.
ConnectDB()
agregamos los paquetes necesarios:package storage
import (
"fmt"
"log"
"github.com/jinzhu/gorm"
//Postgres Driver imported
_ "github.com/lib/pq"
)
Y creamos nuestra función
storage/connectDB.go
://ConnectDB connect to Postgres DB
func ConnectDB() *gorm.DB {
var (
host = "localhost"
user = "postgres"
port = 5432
password = "password"
name = "db"
)
//Connect to DB
var DB *gorm.DB
DB, err = gorm.Open("postgres", fmt.Sprintf("host=%s port=%d
user=%s password=%s dbname=%s sslmode=disable", host, portInt,
user, password, name))
...
}
Esta es la parte en que se conecta a la bases de datos. 도커: .
En este codigo: primero la función retorna
ConnectDB()
que es el cliente GORM con la conexión a nuestra bases de datos. 새로운 변수에 대한 정보는 최종 결정에 따라 결정됩니다.Para finalizar vamos a verificar por errores y retornar el cliente
//ConnectDB connect to Postgres DB
func ConnectDB() *gorm.DB {
...
//Check for Errors in DB
if err != nil {
log.Fatalf("Error in connect the DB %v", err)
return nil
}
if err := DB.DB().Ping(); err != nil {
log.Fatalln("Error in make ping the DB " + err.Error())
return nil
}
if DB.Error != nil {
log.Fatalln("Any Error in connect the DB " + err.Error())
return nil
}
log.Println("DB connected")
return DB
}
Verificamos si hubo algún error en la bases de datos y hacemos un
*gorm.DB
para asegurar nuestra conxión a la base de datos¡리스토! ¡Ya nos conectamos a nuestra Bases de datos conectada! 😀
Como ultimo punto la información de la base de datos es informacion vital, lo mejor es esconderla y ponerla en las variables de entorno, No es muy diificil y escondera la informacion que no deberias o quieras compartir
Gracias por leer y llegar hasta aquí, espero que haya sido de ayuda
Reference
이 문제에 관하여(튜토리얼 Conectar PostgresSQL en Go con GORM), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/marlosrodriguez/tutorial-conectar-postgressql-en-go-con-gorm-3ggj텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)