Skip to main content

Model Management

Refresh Schema

Omni strives to stay in lockstep with changes in the database layer below. One of the more challengeing experiences in BI management are when schema changes occur in the database layer, and this has only become more prevelant with dbt.

The shared data model exists in two layers, the schema model from the database and the user-generated, virtual fields that exist only in the Omni layer. When Refresh Schema is selected from Model dropdown in the IDE, simple field references will be updated to reflect the current schema in the database (including objects like dbt views). This means if columns or tables are added or removed, these changed would be reflected in the updated schema model. Note these changes may result in invalid/broken references, but will be flagged by the model validator.

Currently schema refresh is user-triggered, but in the future this will be able to be automated on a schedule.

Note that the schema refresh kicks off a job that runs in the background, so can take several minutes depending on size of database. If schema updates do not appear instantly, give the refresh job a bit of time to complete.

Export to dbt

We want to make model management easy both in Omni and below the BI layer. To this end, we offer the ability to export a view file's dbt SQL. This will allow users to build fact tables, or virtualized fields into their dbt models beneath Omni.

Currently this will require some rework of your Omni model, because new dbt views will then be populated into the model upon schema refresh. This means field references would need to be remapped to maintain continuity. In the future the intent is for this promotion to become button-click.