Multiple Data Sources
Cube supports connecting to multiple data sources, so that different cubes reference data from different databases.
Usually, data sources are configured statically (see below). However, Cube can also lookup data sources dynamically which is useful in complex scenarios involving multitenancy.
CUBEJS_DATASOURCES=default,datasource1 CUBEJS_DB_TYPE=postgres CUBEJS_DB_NAME=ecom CUBEJS_DB_HOST=localhost CUBEJS_DS_DATASOURCE1_DB_TYPE=postgres CUBEJS_DS_DATASOURCE1_DB_NAME=ecom CUBEJS_DS_DATASOURCE1_DB_HOST=remotehost
Cube expects that the
default data source is always defined. Ensure that
CUBEJS_DB_* environment variables are set or that the
source is defined using
driverFactory in your
Cube allows database-specific environment variables to be decorated with a data source name:
For example, using the
datasource1 data source,
CUBEJS_DB_TYPE could be
property to set a data source for each cube:
cubes: - name: orders # ... data_source: default - name: orders_from_other_data_source # ... data_source: other_data_source
Follow these steps to connect to multiple data sources in Cube Cloud:
- Set up the
defaultdatabase connection when creating a new deployment.
- Ensure you have the correct
multitenancy configuration in
- Configure the corresponding environment variables in Settings → Environment variables.