TypeORM - API de conexión

Para interactuar con la base de datos, necesitamos un objeto de conexión a la base de datos. Necesitamos crear un objeto de conexión antes de realizar la operación de la base de datos y tenemos que terminarlo una vez que se realizan las operaciones de la base de datos. Aprendamos sobre la API de conexión proporcionada por TypeORM en esta sección.

Creando una nueva conexión

Antes de crear una nueva conexión, necesitamos configurar los detalles de la conexión de la base de datos en el ormconfig.jsonarchivo de configuración. A continuación se muestra un ejemplo de detalles de conexión:

ormconfig.json

{ 
   name: "firstconnection", 
   type: "mysql", 
   host: "localhost", 
   port: 3306, 
   username: "root", 
   password: "root", 
   database: "firstDB" 
}

Aquí,

  • name - Nombre de la conexión a la base de datos.
  • type - Tipo de base de datos.
  • host - Nombre de host del servidor de la base de datos.
  • port - Puerto del servidor de la base de datos.
  • username - Nombre de la cuenta que tiene acceso a la base de datos.
  • password - Contraseña de la cuenta mencionada anteriormente.
  • database - Nombre de la base de datos a conectar.

createConnection

CreateConnectionTypeORM proporciona el método para crear una nueva conexión. Se define como a continuación,

import { createConnection, Connection } from "typeorm"; 

const connection = await createConnection({ 

});

Aquí, createConnection utilizará los detalles de configuración especificados en el archivo ormconfig.json.

Alternativamente, puede definir la URL de conexión como argumentos para el método createConnection como se especifica a continuación:

const connection = createConnection({ type: 'mysql', 
     url: 'localhost:8888/firstDB' 
})

Aquí,

createConnection devuelve un objeto, que se puede utilizar para abrir / cerrar la conexión a la base de datos.

Varias conexiones

TypeORM también ofrece una opción para crear múltiples conexiones a bases de datos. Primero, el archivo de configuración ormconfig.json se puede utilizar para especificar los detalles de la conexión de múltiples bases de datos. Configuremos varias bases de datos en ormconfig.json como se especifica a continuación,

ormconfig.json

{  name: "firstconnection", 
   type: "mysql", 
   host: "localhost", 
   port: 3306, 
   username: "root", 
   password: "root", 
   database: "firstDB" 
}, 
{  name: "secondconnection", 
   type: "mysql", 
   host: "localhost", 
   port: 3306, 
   username: "root", 
   password: "root", 
   database: "secondDB" 
}, 
{  name: "thirdconnection", 
   type: "mysql", 
   host: "localhost", 
   port: 3306, 
   username: "root", 
   password: "root", 
   database: "thirdDB" 
}

Ahora, podemos usar el argumento proporcionado por el método createConnection para especificar el nombre de la conexión para crear el objeto de conexión como se menciona a continuación:

const firstconnection: Connection = await createConnection("firstconnection");

Aquí,

createConnection utilizará los detalles de configuración del firstconnection especificado en el ormconfig.json archivo para crear el objeto de conexión.

TypeORM también proporciona otra API, createConnections para crear múltiples conexiones como una vez y luego, úsela siempre que sea necesario como se especifica a continuación:

import { createConnections, Connection } from "typeorm"; 

const connections: Connection[] = await createConnections([ 

]);

Aquí,

connections mantenga todos los objetos de conexión como una matriz.

ConnectionManager

TypeORM también proporciona otra API, connectionManager para crear conexión. Se define a continuación:

import {getConnectionManager, ConnectionManager, Connection} from "typeorm"; 

const connectionManager = getConnectionManager(); 

const connection = connectionManager.create({ 

}); 
await connection.connect();

TypeORM prefiere el uso de createConnection encima ConnectionManager para crear objetos de conexión.