DataSource API
options
- Options used to create this dataSource.
Learn more about DataSourceOptions.
const dataSourceOptions: DataSourceOptions = dataSource.options
isInitialized
- Indicates if DataSource was initialized and initial connection / connection pool with database was established or not.
const isInitialized: boolean = dataSource.isInitialized
driver
- Underlying database driver used in this dataSource.
const driver: Driver = dataSource.driver
const manager: EntityManager = dataSource.manager
const users = await manager.find()
mongoManager
- MongoEntityManager
used to work with entities for mongodb data source.
For more information about MongoEntityManager see MongoDB documentation.
const manager: MongoEntityManager = dataSource.mongoManager
const users = await manager.find()
initialize
- Initializes data source and opens connection pool to the database.
await dataSource.initialize()
destroy
- Destroys the DataSource and closes all database connections.
Usually, you call this method when your application is shutting down.
await dataSource.destroy()
synchronize
- Synchronizes database schema. When synchronize: true
is set in data source options it calls this method.
Usually, you call this method when your application is starting.
await dataSource.synchronize()
dropDatabase
- Drops the database and all its data.
Be careful with this method on production since this method will erase all your database tables and their data.
Can be used only after connection to the database is established.
await dataSource.dropDatabase()
runMigrations
- Runs all pending migrations.
await dataSource.runMigrations()
undoLastMigration
- Reverts last executed migration.
await dataSource.undoLastMigration()
hasMetadata
- Checks if metadata for a given entity is registered.
Learn more about Entity Metadata.
if (dataSource.hasMetadata(User))
const userMetadata = dataSource.getMetadata(User)
getMetadata
- Gets EntityMetadata
of the given entity.
You can also specify a table name and if entity metadata with such table name is found it will be returned.
Learn more about Entity Metadata.
const userMetadata = dataSource.getMetadata(User)
getRepository
- Gets Repository
of the given entity.
You can also specify a table name and if repository for given table is found it will be returned.
Learn more about Repositories.
const repository = dataSource.getRepository(User)
const users = await repository.find()
getTreeRepository
- Gets TreeRepository
of the given entity.
You can also specify a table name and if repository for given table is found it will be returned.
Learn more about Repositories.
const repository = dataSource.getTreeRepository(Category)
const categories = await repository.findTrees()
getMongoRepository
- Gets MongoRepository
of the given entity.
This repository is used for entities in MongoDB dataSource.
Learn more about MongoDB support.
const repository = dataSource.getMongoRepository(User)
const categoryCursor = repository.createEntityCursor()
const category1 = await categoryCursor.next()
const category2 = await categoryCursor.next()
transaction
- Provides a single transaction where multiple database requests will be executed in a single database transaction.
Learn more about Transactions.
await dataSource.transaction(async (manager) => {
})
query
- Executes a raw SQL query.
const rawData = await dataSource.query(`SELECT * FROM USERS`)
createQueryBuilder
- Creates a query builder, which can be used to build queries.
Learn more about QueryBuilder.
const users = await dataSource
.createQueryBuilder()
.select()
.from(User, "user")
.where("user.name = :name", { name: "John" })
.getMany()
createQueryRunner
- Creates a query runner used to manage and work with a single real database dataSource.
Learn more about QueryRunner.
const queryRunner = dataSource.createQueryRunner()
await queryRunner.connect()
await queryRunner.release()