API de DataSource
Traducción Beta No Oficial
Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
options- Opciones utilizadas para crear este dataSource. Más información en Opciones de Data Source.
const dataSourceOptions: DataSourceOptions = dataSource.options
isInitialized- Indica si el DataSource fue inicializado y si se estableció la conexión inicial/pool de conexiones con la base de datos.
const isInitialized: boolean = dataSource.isInitialized
driver- Driver de base de datos subyacente utilizado en este dataSource.
const driver: Driver = dataSource.driver
manager-EntityManagerutilizado para trabajar con entidades. Más información sobre Entity Manager y Repository.
const manager: EntityManager = dataSource.manager
// you can call manager methods, for example find:
const users = await manager.find()
mongoManager-MongoEntityManagerutilizado para trabajar con entidades en data sources de MongoDB. Para más información sobre MongoEntityManager consulta la documentación de MongoDB.
const manager: MongoEntityManager = dataSource.mongoManager
// you can call manager or mongodb-manager specific methods, for example find:
const users = await manager.find()
initialize- Inicializa el data source y abre el pool de conexiones a la base de datos.
await dataSource.initialize()
destroy- Destruye el DataSource y cierra todas las conexiones de la base de datos. Suele llamarse a este método cuando la aplicación se está cerrando.
await dataSource.destroy()
synchronize- Sincroniza el esquema de la base de datos. Se llama automáticamente cuandosynchronize: trueestá configurado en las opciones del data source. Suele utilizarse cuando la aplicación se está iniciando.
await dataSource.synchronize()
dropDatabase- Elimina la base de datos y todos sus datos. ¡Extrema precaución en producción! Este método borrará todas tus tablas y sus datos. Solo puede usarse después de establecer conexión con la base de datos.
await dataSource.dropDatabase()
runMigrations- Ejecuta todas las migraciones pendientes.
await dataSource.runMigrations()
undoLastMigration- Revierte la última migración ejecutada.
await dataSource.undoLastMigration()
hasMetadata- Comprueba si los metadatos de una entidad dada están registrados.
if (dataSource.hasMetadata(User))
const userMetadata = dataSource.getMetadata(User)
getMetadata- Obtiene losEntityMetadatade la entidad especificada. También puedes indicar un nombre de tabla y, si se encuentran metadatos de entidad con ese nombre, se devolverán.
const userMetadata = dataSource.getMetadata(User)
// now you can get any information about User entity
getRepository- Obtiene elRepositoryde la entidad especificada. También puedes indicar un nombre de tabla y, si se encuentra un repositorio para esa tabla, se devolverá. Más información sobre Repositories.
const repository = dataSource.getRepository(User)
// now you can call repository methods, for example find:
const users = await repository.find()
getTreeRepository- Obtiene elTreeRepositoryde la entidad especificada. También puedes indicar un nombre de tabla y, si se encuentra un repositorio para esa tabla, se devolverá. Más información sobre Repositories.
const repository = dataSource.getTreeRepository(Category)
// now you can call tree repository methods, for example findTrees:
const categories = await repository.findTrees()
getMongoRepository- Obtiene elMongoRepositoryde la entidad especificada. Este repositorio se utiliza para entidades en data sources de MongoDB. Más información sobre soporte para MongoDB.
const repository = dataSource.getMongoRepository(User)
// now you can call mongodb-specific repository methods, for example createEntityCursor:
const categoryCursor = repository.createEntityCursor()
const category1 = await categoryCursor.next()
const category2 = await categoryCursor.next()
transaction- Proporciona una transacción única donde múltiples solicitudes a la base de datos se ejecutarán en una sola transacción. Más información sobre Transacciones.
await dataSource.transaction(async (manager) => {
// NOTE: you must perform all database operations using given manager instance
// its a special instance of EntityManager working with this transaction
// and don't forget to await things here
})
query- Ejecuta una consulta SQL en bruto.
const rawData = await dataSource.query(`SELECT * FROM USERS`)
// You can also use parameters to avoid SQL injection
// The syntax differs between the drivers
// aurora-mysql, better-sqlite3, capacitor, cordova,
// expo, mariadb, mysql, nativescript, react-native,
// sap, sqlite, sqljs
const rawData = await dataSource.query(
"SELECT * FROM USERS WHERE name = ? and age = ?",
["John", 24],
)
// aurora-postgres, cockroachdb, postgres
const rawData = await dataSource.query(
"SELECT * FROM USERS WHERE name = $1 and age = $2",
["John", 24],
)
// oracle
const rawData = await dataSource.query(
"SELECT * FROM USERS WHERE name = :1 and age = :2",
["John", 24],
)
// spanner
const rawData = await dataSource.query(
"SELECT * FROM USERS WHERE name = @param0 and age = @param1",
["John", 24],
)
// mssql
const rawData = await dataSource.query(
"SELECT * FROM USERS WHERE name = @0 and age = @1",
["John", 24],
)
sql- Ejecuta una consulta SQL en bruto utilizando literales de plantilla.
const rawData =
await dataSource.sql`SELECT * FROM USERS WHERE name = ${"John"} and age = ${24}`
Más información sobre el uso de la sintaxis de SQL Tag.
createQueryBuilder- Crea un constructor de consultas (query builder) para construir consultas. Más información sobre QueryBuilder.
const users = await dataSource
.createQueryBuilder()
.select()
.from(User, "user")
.where("user.name = :name", { name: "John" })
.getMany()
createQueryRunner- Crea un ejecutor de consultas (query runner) para gestionar y trabajar con una única conexión real de base de datos. Más información sobre QueryRunner.
const queryRunner = dataSource.createQueryRunner()
// you can use its methods only after you call connect
// which performs real database connection
await queryRunner.connect()
// .. now you can work with query runner and call its methods
// very important - don't forget to release query runner once you finished working with it
await queryRunner.release()