Page Contents
  
 
    Overview
A DataSource in LoopBack 4 is a named configuration for a Connector instance
that represents data in an external system. The Connector is used by
legacy-juggler-bridge to power LoopBack 4 Repositories for Data operations.
Creating a DataSource
It is recommended to use the lb4 datasource command
provided by the CLI to generate a DataSource. The CLI will prompt for all
necessary connector information and create the following files:
${dataSource.dataSourceName}.datasource.jsoncontaining the connector configuration${dataSource.dataSourceName}.datasource.tscontaining a class extendingjuggler.DataSource. This class can be used to override the default DataSource behaviour programaticaly. Note: The connector configuration stored in the.jsonfile is injected into this class using Dependency Injection.
Both the above files are generated in src/datasources/ directory by the CLI.
It will also update src/datasources/index.ts to export the new DataSource
class.
Example DataSource Class:
import {inject} from '@loopback/core';
import {juggler, DataSource} from '@loopback/repository';
export class DbDataSource extends juggler.DataSource {
  constructor(@inject('datasources.config.db') dsConfig: DataSource) {
    super(dsConfig);
  }
}