GORM es una herramienta de asignación relacional de objetos para el lenguaje de programación Go. Proporciona un framework para asignar un modelo de dominio orientado a objetos a una base de datos relacional.
Puedes integrar bases de datos de Spanner PostgreSQL con GORM usando el controlador pgx estándar de PostgreSQL y PGAdapter.
Configura GORM con bases de datos de dialecto de PostgreSQL de Spanner
Asegúrate de que PGAdapter se ejecute en la misma máquina que la aplicación que se conecta con GORM y Spanner.
Para obtener más información, consulta Cómo iniciar PGAdapter.
Agrega una sentencia de importación para el dialecto GORM de PostgreSQL a tu aplicación. Este es el mismo controlador que usarías normalmente con una base de datos de PostgreSQL.
Especifica
localhosty5432como el host y el puerto del servidor de la base de datos en la cadena de conexión de GORM. GORM requiere un nombre de usuario y una contraseña en la cadena de conexión. PGAdapter los ignora.- De manera opcional, especifica un número de puerto diferente si PGAdapter está configurado para escuchar en un puerto distinto del puerto predeterminado de PostgreSQL (5432).
- PGAdapter no admite SSL. De forma predeterminada, GORM primero intenta conectarse con SSL habilitado. Inhabilitar SSL en la solicitud de conexión acelera el proceso de conexión, ya que requiere un recorrido de ida y vuelta menos.
import ( "gorm.io/driver/postgres" "gorm.io/gorm" ) dsn := "host=localhost user=gorm password=gorm dbname=gorm port=5432 sslmode=disable" db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{})
Consulta la documentación de GORM con PostgreSQL para obtener más opciones de conexión para PostgreSQL.
Usa GORM con bases de datos de dialecto de PostgreSQL de Spanner
Para obtener más información sobre las funciones y recomendaciones para usar GORM con Spanner, consulta la documentación de referencia en GitHub.
¿Qué sigue?
- Consulta la aplicación de ejemplo con GORM, PGAdapter y Spanner.
- Obtén más información sobre GORM.
- Obtén más información sobre PGAdapter.
- Presenta un problema en GitHub para informar un error o hacer una pregunta sobre el uso de GORM con Spanner y PGAdapter.