Thanks Jason. Sorry for the slow reply – my email notifications seem to not be working.
Unfortunately, that’s not what the comment meant.
Database ensure internally does a check if the table schema already matches.
What we really want to avoid is doing an extra client-server database request every time, even though 99.99% of the time it’s unnecessary. (Although in the big picture this probably isn’t that big a deal.)
The question then becomes, who is responsible for creating the table? Maybe you just make ensureQueue public and leave it up to the application code to create it at some point.