Skip to content

Database Setup

EntiHub targets one relational engine per deployment. The same product features apply across SQL Server, PostgreSQL, Oracle, and MySQL; only connection wiring and generated SQL dialect differ.

Supported engines

Engine Typical deployment Authentication
SqlServer Microsoft Fabric Warehouse, Azure SQL, on-premises SQL Server ServicePrincipal or SqlUser
PostgreSql Azure Database for PostgreSQL, AWS RDS, self-hosted SqlUser
Oracle Autonomous Database, on-premises via SQL*Net / Easy Connect SqlUser
MySql Azure Database for MySQL, cloud or self-hosted SqlUser

Configuration settings

All settings live under the Mdm configuration section.

Setting Purpose
Mdm:DatabaseBackend Engine selector: SqlServer, PostgreSql, Oracle, MySql.
Mdm:DbAuthMode ServicePrincipal or SqlUser.
Mdm:DbConnectionString Full backend-specific connection string.
Mdm:ServicePrincipalAuth:TenantId Azure AD tenant for SQL Server Entra auth.
Mdm:ServicePrincipalAuth:ClientId Client ID of the service principal.
Mdm:ServicePrincipalAuth:ClientSecret Client secret for token acquisition.
Mdm:ConfigSchema Schema for configuration and governance tables.
Mdm:EntityDataSchema Schema for entity physical data tables.
Mdm:Tier Small, Professional, or Enterprise.
Mdm:LakehouseName Logical lakehouse / database name included in webhook payloads.
Mdm:PermissionsKey Secret key for hashing user identifiers in role assignments.
Mdm:AuditRetentionDays Audit retention window in days.

Connection string composition

  • EntiHub uses DbConnectionString as-is for opening the database connection.
  • This keeps secrets out of long hand-maintained strings when you prefer structured configuration or Key Vault-backed values.

Behavior by backend

  • Bootstrap — engine-specific DDL creates schemas and metadata tables with correct types and identifiers.
  • Deploy — entity and infrastructure DDL is emitted in the dialect appropriate to the selected backend.
  • Runtime SQL — shared helpers abstract paging, boolean literals, quoting, and upsert patterns so the same business logic works across engines.

Operational checklist

  • Choose the backend and set Mdm__DatabaseBackend and Mdm__DbAuthMode accordingly.
  • Create a database user or service principal with rights to create and alter objects in ConfigSchema and EntityDataSchema.
  • Set dedicated schema names to avoid collisions with existing warehouse objects.
  • Verify connectivity with GET /health/ready after the container starts.
  • Define or import an entity in YAML and run Deploy to validate end-to-end DDL and permissions.