Schéma pour les tables de MediaWiki.
A l'origine utilisé uniquement si la base de données sous-jacente était est Postgres/MSSQL.
Depuis MediaWiki 1.31 il impacte aussi d'autres types de bases de données.
Il indique dans quel schéma se trouvent les tables principales de MediaWiki, ce qui est grosso modo équivalent à la manière dont $wgDBprefix est utilisé par MySQL.
Les installateurs des anciennes versions de MediaWiki initialisaient ceci à 'mediawiki' directement dans LocalSettings.php , même pour les bases de données MySQL, ce qui pouvait provoquer des erreurs lors des mises à jour.
Si vous obtenez des erreurs lors de la mise à jour vers MediaWiki 1.31 ou plus récent, et que vous n'utilisez pas Postgres/MSSQL comme base de données sous-jascente, supprimez ce paramètre de LocalSettings.php.
Attention :
Ne pas modifier $wgDBmwschema après que Setup.php a été inclus. Note :Setup.php initialise divers chemins, y compris certains fichiers communs, démarre les sessions, et effectue diverses autres tâches d'initialisation pour une requête. Il n'est pas lié à l'installation ou au paramétrage de MediaWiki.
Uniquement les fichiers de includes/db/ doivent utiliser $wgDBmwschema, tandis que tout le reste doit utiliser la méthode dbSchema() fournie par l'interface Wikimedia\Rdbms\IDatabase ou l'extraire de la méthode getDomainId() à partir soit de l'interface Wikimedia\Rdbms\ILoadBalancer soit de l'interface Wikimedia\Rdbms\ILBFactory . La classe DatabaseDomain peut extraire de tels composants à partir de l'ID d'un domaine de base de données.
Si vous configurez $wgDBservers ou $wgLBFactoryConf, vous devez aussi définir $wgDBname, $wgDBmwschema (si nécessaire selon le type de base de données), et $wgDBprefix (si nécessaire selon le type de base de données). La combinaison de $wgDBname, $wgDBmwschema, et $wgDBprefix définit le domaine de la base de données du wiki actuel. Ceci est aussi appelé le domaine de la base de données locale. Les paramètres 'dbname' et 'tablePrefix' dans $wgDBservers et $wgLBFactoryConf ne définissent que la base de données (préfixe) par défaut quand une connexion est demandée avec DatabaseDomain::newUnspecified()->getId() (la chaîne vide) comme domaine de la base de données, par exemple wfGetDB( DB_REPLICA, [], '' ) . Notez que les appels de fonction comme wfGetDB( DB_REPLICA ), qui omettent simplement le domaine de la base de données, sont supposés s'adresser à la base de données locale.
Avertissement :
Si vous modifiez ce paramètre, vous devrez probablement créer un nouvel utilisateur (et modifier aussi $wgDBuser), car le script de configuration positionnera le chemin par défaut de l'utilisateur pour inclure le schéma.