DmitryDulepov\Realurl\ext_update::updateRealurlTableStructure PHP Method

updateRealurlTableStructure() protected method

We ignore any errors because nothing can be done about those really. The client will have to do database update anyway, so he will see all failed queries.
protected updateRealurlTableStructure ( ) : void
return void
    protected function updateRealurlTableStructure()
    {
        $updateStatements = array();
        // Get all necessary statements for ext_tables.sql file
        $rawDefinitions = file_get_contents(ExtensionManagementUtility::extPath('realurl', 'ext_tables.sql'));
        $sqlParser = GeneralUtility::makeInstance('TYPO3\\CMS\\Install\\Service\\SqlSchemaMigrationService');
        $fieldDefinitionsFromFile = $sqlParser->getFieldDefinitions_fileContent($rawDefinitions);
        if (count($fieldDefinitionsFromFile)) {
            $fieldDefinitionsFromCurrentDatabase = $sqlParser->getFieldDefinitions_database();
            $diff = $sqlParser->getDatabaseExtra($fieldDefinitionsFromFile, $fieldDefinitionsFromCurrentDatabase);
            $updateStatements = $sqlParser->getUpdateSuggestions($diff);
        }
        foreach ((array) $updateStatements['add'] as $string) {
            $this->databaseConnection->admin_query($string);
        }
        foreach ((array) $updateStatements['change'] as $string) {
            $this->databaseConnection->admin_query($string);
        }
        foreach ((array) $updateStatements['create_table'] as $string) {
            $this->databaseConnection->admin_query($string);
        }
    }