typeorm#getConnectionManager TypeScript Examples
The following examples show how to use
typeorm#getConnectionManager.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: test-db-util.ts From barista with Apache License 2.0 | 7 votes |
private static async connection(name: string = 'default') {
const manager = getConnectionManager();
let dbConnection;
if (manager.has(name)) {
dbConnection = await manager.get(name);
} else {
dbConnection = await createConnection(name);
}
if (!dbConnection.isConnected) {
await dbConnection.connect();
}
return dbConnection;
}
Example #2
Source File: db.ts From prox2 with GNU Affero General Public License v3.0 | 6 votes |
async function getConnection(): Promise<Connection> {
const connManager = getConnectionManager();
if (connManager.has("default")) {
await connManager.get().close();
}
return await createConnection({
type: "postgres",
url: postgres_url,
entities: [Confession],
synchronize: true,
logging: false,
});
}
Example #3
Source File: connectDatabase.ts From bouncecode-cms with GNU General Public License v3.0 | 6 votes |
connectDatabase = async () => {
try {
if (getConnectionManager().get().isConnected) {
return;
}
} catch (e) {}
await createConnection();
}
Example #4
Source File: application-lifecycle.ts From malagu with MIT License | 6 votes |
async onStart(app: Application): Promise<void> {
const connections = getConnectionManager().connections;
for (const c of connections) {
if (c.isConnected) {
await c.close();
}
}
const { ormConfig } = this.options;
let configs: any[];
if (Array.isArray(ormConfig)) {
configs = ormConfig;
} else {
ormConfig.name = DEFAULT_CONNECTION_NAME;
configs = [ ormConfig ];
}
for (const config of configs) {
config.entities = EntityProvider.getEntities(config.name) || [];
}
await createConnections(configs);
}
Example #5
Source File: typeorm-uml.class.ts From typeorm-uml with MIT License | 6 votes |
/**
* Creates and returns Typeorm connection based on selected configuration file.
*
* @async
* @private
* @param {string} configPath A path to Typeorm config file.
* @param {Flags} flags An object with command flags.
* @returns {Connection} A connection instance.
*/
private async getConnection( configPath: string, flags: Flags ): Promise<Connection> {
let root = process.cwd();
let configName = configPath;
if ( isAbsolute( configName ) ) {
root = dirname( configName );
configName = basename( configName );
}
const cwd = dirname( resolve( root, configName ) );
process.chdir( cwd );
const connectionOptionsReader = new ConnectionOptionsReader( { root, configName } );
const connectionOptions = await connectionOptionsReader.get( flags.connection || 'default' );
return getConnectionManager().create( connectionOptions );
}
Example #6
Source File: connection.spec.ts From advanced-node with GNU General Public License v3.0 | 6 votes |
jest.mock('typeorm', () => ({
Entity: jest.fn(),
PrimaryGeneratedColumn: jest.fn(),
Column: jest.fn(),
createConnection: jest.fn(),
getConnection: jest.fn(),
getConnectionManager: jest.fn(),
getRepository: jest.fn()
}))
Example #7
Source File: application-lifecycle.ts From malagu with MIT License | 5 votes |
onStop(app: Application): void {
const connections = getConnectionManager().connections;
for (const c of connections) {
if (c.isConnected) {
c.close();
}
}
}
Example #8
Source File: connection.ts From advanced-node with GNU General Public License v3.0 | 5 votes |
async connect (): Promise<void> {
this.connection = getConnectionManager().has('default')
? getConnection()
: await createConnection()
}
Example #9
Source File: connection.spec.ts From advanced-node with GNU General Public License v3.0 | 4 votes |
describe('PgConnection', () => {
let getConnectionManagerSpy: jest.Mock
let createQueryRunnerSpy: jest.Mock
let createConnectionSpy: jest.Mock
let getConnectionSpy: jest.Mock
let hasSpy: jest.Mock
let closeSpy: jest.Mock
let startTransactionSpy: jest.Mock
let releaseSpy: jest.Mock
let commitTransactionSpy: jest.Mock
let rollbackTransactionSpy: jest.Mock
let getRepositorySpy: jest.Mock
let sut: PgConnection
beforeAll(() => {
hasSpy = jest.fn().mockReturnValue(true)
getConnectionManagerSpy = jest.fn().mockReturnValue({
has: hasSpy
})
startTransactionSpy = jest.fn()
commitTransactionSpy = jest.fn()
rollbackTransactionSpy = jest.fn()
releaseSpy = jest.fn()
getRepositorySpy = jest.fn().mockReturnValue('any_repo')
createQueryRunnerSpy = jest.fn().mockReturnValue({
startTransaction: startTransactionSpy,
commitTransaction: commitTransactionSpy,
rollbackTransaction: rollbackTransactionSpy,
release: releaseSpy,
manager: { getRepository: getRepositorySpy }
})
createConnectionSpy = jest.fn().mockResolvedValue({
createQueryRunner: createQueryRunnerSpy
})
closeSpy = jest.fn()
getConnectionSpy = jest.fn().mockReturnValue({
createQueryRunner: createQueryRunnerSpy,
close: closeSpy
})
mocked(createConnection).mockImplementation(createConnectionSpy)
mocked(getConnectionManager).mockImplementation(getConnectionManagerSpy)
mocked(getConnection).mockImplementation(getConnectionSpy)
mocked(getRepository).mockImplementation(getRepositorySpy)
})
beforeEach(() => {
sut = PgConnection.getInstance()
})
it('should have only one instance', () => {
const sut2 = PgConnection.getInstance()
expect(sut).toBe(sut2)
})
it('should create a new connection', async () => {
hasSpy.mockReturnValueOnce(false)
await sut.connect()
expect(createConnectionSpy).toHaveBeenCalledWith()
expect(createConnectionSpy).toHaveBeenCalledTimes(1)
})
it('should use an existing connection', async () => {
await sut.connect()
expect(getConnectionSpy).toHaveBeenCalledWith()
expect(getConnectionSpy).toHaveBeenCalledTimes(1)
})
it('should close connection', async () => {
await sut.connect()
await sut.disconnect()
expect(closeSpy).toHaveBeenCalledWith()
expect(closeSpy).toHaveBeenCalledTimes(1)
})
it('should return ConnectionNotFoundError on disconnect if connection is not found', async () => {
const promise = sut.disconnect()
expect(closeSpy).not.toHaveBeenCalled()
await expect(promise).rejects.toThrow(new ConnectionNotFoundError())
})
it('should open transaction', async () => {
await sut.connect()
await sut.openTransaction()
expect(startTransactionSpy).toHaveBeenCalledWith()
expect(startTransactionSpy).toHaveBeenCalledTimes(1)
expect(createQueryRunnerSpy).toHaveBeenCalledWith()
expect(createQueryRunnerSpy).toHaveBeenCalledTimes(1)
await sut.disconnect()
})
it('should return ConnectionNotFoundError on openTransaction if connection is not found', async () => {
const promise = sut.openTransaction()
expect(startTransactionSpy).not.toHaveBeenCalled()
await expect(promise).rejects.toThrow(new ConnectionNotFoundError())
})
it('should close transaction', async () => {
await sut.connect()
await sut.openTransaction()
await sut.closeTransaction()
expect(releaseSpy).toHaveBeenCalledWith()
expect(releaseSpy).toHaveBeenCalledTimes(1)
await sut.disconnect()
})
it('should return TransactionNotFoundError on closeTransaction if queryRunner is not found', async () => {
const promise = sut.closeTransaction()
expect(releaseSpy).not.toHaveBeenCalled()
await expect(promise).rejects.toThrow(new TransactionNotFoundError())
})
it('should commit transaction', async () => {
await sut.connect()
await sut.openTransaction()
await sut.commit()
expect(commitTransactionSpy).toHaveBeenCalledWith()
expect(commitTransactionSpy).toHaveBeenCalledTimes(1)
await sut.disconnect()
})
it('should return TransactionNotFoundError on commit if queryRunner is not found', async () => {
const promise = sut.commit()
expect(commitTransactionSpy).not.toHaveBeenCalled()
await expect(promise).rejects.toThrow(new TransactionNotFoundError())
})
it('should rollback transaction', async () => {
await sut.connect()
await sut.openTransaction()
await sut.rollback()
expect(rollbackTransactionSpy).toHaveBeenCalledWith()
expect(rollbackTransactionSpy).toHaveBeenCalledTimes(1)
await sut.disconnect()
})
it('should return TransactionNotFoundError on rollback if queryRunner is not found', async () => {
const promise = sut.rollback()
expect(rollbackTransactionSpy).not.toHaveBeenCalled()
await expect(promise).rejects.toThrow(new TransactionNotFoundError())
})
it('should get repository from queryRunner', async () => {
await sut.connect()
await sut.openTransaction()
const repository = sut.getRepository(PgUser)
expect(getRepositorySpy).toHaveBeenCalledWith(PgUser)
expect(getRepositorySpy).toHaveBeenCalledTimes(1)
expect(repository).toBe('any_repo')
await sut.disconnect()
})
it('should get repository', async () => {
await sut.connect()
const repository = sut.getRepository(PgUser)
expect(getRepositorySpy).toHaveBeenCalledWith(PgUser)
expect(getRepositorySpy).toHaveBeenCalledTimes(1)
expect(repository).toBe('any_repo')
await sut.disconnect()
})
it('should return ConnectionNotFoundError on getRepository if connection is not found', async () => {
expect(getRepositorySpy).not.toHaveBeenCalled()
expect(() => sut.getRepository(PgUser)).toThrow(new ConnectionNotFoundError())
})
})