Verifying the M3 DMP Database changes after migration

Each DmpX and DMPEmpty database has a Cycle table to handle the history of transactions made to the version.

dmp_cycletable

The migration tool also updates the DmpVersion database and creates new tables:
  • TenantDbVersion
  • TenantOptions
  • TenantSettings
  • TenantUser

A new column named VersionSchema is added to the DmpVersion.DBVersion table. The VersionSchema field serves as a link to the provision database, allowing the application to retrieve the necessary connection information to establish a database connection.

dmp_DmpVersion.DBVersion table

All databases continue to use dbo as the default schema and retain the existing users with their corresponding permissions.

dmp_dbo

All DMP Database fields with ID as a prefix or postfix follow the case ID, such as BaseListID and KeyID. This is because the M3 app services follow the same casing, and this scenario is crucial if the database setup uses BIN2 collation.

A new provision database is created to manage information for all tenants when multiple tenants are configured. The provision database collation matches the collation of the DmpX databases.

dmp_Provision_database_Collation

The provision database contains a tenants table that stores the Tenant ID, database connection details, and credentials. This design enables the application to connect to the appropriate tenant database easily.

dmp_tenants_table