function schemaUpdate($callback) { // Set locking mode $this->database->setPragma('locking_mode', 'EXCLUSIVE'); $this->checkAndRepairTable(); $this->flushCache(); // Initiate schema update $error = null; try { parent::schemaUpdate($callback); } catch (Exception $ex) { $error = $ex; } // Revert locking mode $this->database->setPragma('locking_mode', SQLite3Database::$default_pragma['locking_mode']); if ($error) { throw $error; } }