SQLAlchemy

The SQLAlchemy data source allows importing collections from all models class that extends the class build with declarative_base or that inherit from sqlalchemy.orm.DeclarativeBase.

To make everything work as expected, you need to install the package sqlalchemy.

Note that:

  • SQLAlchemy relationships will be respected

from forestadmin.datasource_sqlalchemy.datasource import SqlAlchemyDatasource

from sqlalchemy.orm import DeclarativeBase
class Base(DeclarativeBase):
    pass
# or
from sqlalchemy.orm import declarative_base
Base = declarative_base()

agent.add_datasource(
    SqlAlchemyDatasource(
        Base,
        db_uri="postgres://user:pass@localhost:5432/myDatabase",
    )
)

the db_uri is mandatory only in the cases when the engine cannot be found in the base class.

When using the package Flask-SQLAlchemy, the setup is a bit different. In most of the case, the db_uri is not needed

Enable support of live queries

By enabling this feature, users with the required permission level can create Live Query components (charts ↗, analytics charts ↗ and segments ↗), allowing them to create more sophisticated requests to your database, by leveraging the underlying query language, SQL in this case.

You can enable this feature by setting a connection name (works as an identifier) when creating your datasource. This connection name will be reflected on the UI when configuring a LiveQuery component, it should have a clear meaning for your Forest users.

After this point you should see on ForestAdmin an input asking for the connection next to the live query text input.

Last updated

Was this helpful?