Custom tables in load balanced environment broken?

Having a major problem on a v17 site with regards to using a custom table. I’ve followed the instructions here Creating a Custom Database Table | CMS | Umbraco Documentation to create my custom table for use by my approvals dashboard. Everything works fine on localhost and on our single instance r&d site, the custom table is created if it doesn’t exist, and approval records are written to the table as expected.

However on our load balanced test instance, the migration no longer runs so the table isn’t created. Out of desperation I’ve even run the localhost instance pointing at the test db and confirmed the table is then created, but when I run the test site directly, Umbraco is unaware of the table even though it exists (I guess Umbraco registers something during startup so its aware of the table) so my approvals process is broken because attempts to write to my custom table fail with Invalid object name ‘CcApprovalsContent’.

I can see “Starting ‘{MigrationName}’…”,“MigrationName”:“CcApprovalsContent” in the umbraco logs, followed by “Done”,“SourceContext”:“Umbraco.Cms.Infrastructure.Migrations.MigrationPlanExecutor” but I don’t see anything to indicate the table was created.

It feels like custom tables are broken in v17 in a load balanced environment, this all worked fine in v16. Am I just doing something wrong?

Found the cause. Muppetry on my part. After adding some logging to log the actual database being connected to, I discovered there was an old keyvault entry with a different db name, so it wasn’t connecting to the database I thought it was.