protected function loadSchema(mysqli $mysql)
    {
        /* help ourselves to the Composer autoloader... */
        /*
         * FIXME I have to imagine that assuming the install directory is 'vendor' is
         *          unsafe...
         */
        if (strpos(__DIR__, '/vendor/')) {
            $composer = require preg_replace('%(.*/vendor)/.*%', '$1/autoload.php', __DIR__);
        } else {
            $composer = require preg_replace('%(.*)/src/.*%', '$1/vendor/autoload.php', __DIR__);
        }

        /* ...so that we can find the LTI_Tool_Provider database schema (oy!) */
        foreach (explode(';', file_get_contents(dirname($composer->findFile(LTI_Tool_Provider::class)) .
            '/lti-tables-mysql.sql')) as $query) {
            if (!empty(trim($query))) {
                /*
                 * TODO should there be some sort of testing or logging here?
                 *      If _some_ tables are present, that will trigger
                 *      reloading all tables, which will generate ignorable
                 *      errors.
                 */
                $mysql->query($query);
            }
        }
    }