Jump to content

Manuel:$wgDBmwschema

From mediawiki.org
This page is a translated version of the page Manual:$wgDBmwschema and the translation is 100% complete.
Paramètres de la base de données: $wgDBmwschema
Schéma contenant les tables MediaWiki.
Introduit dans la version :1.8.0
Retiré dans la version :Encore utilisé
Valeurs autorisées :(chaîne)
Valeur par défaut :null (1.23+)
'mediawiki' (1.8-1.22)

Détails

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 ! 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 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.