Příručka:Databázová tabulka sites
↑ Manuál:Obsah | MediaWiki schéma databáze | Tabulka sites |
Verze MediaWiki: | ≥ 1.21 |
Tabulka sites, představená v MediaWiki 1.21 v květnu 2013, obsahuje všechny stránky známé wiki.
Pole
site_id
Verze MediaWiki: | ≥ 1.21 |
Číselné ID webu. Toto je automaticky se zvyšující primární klíč.
site_global_key
Verze MediaWiki: | ≥ 1.21 |
Globální identifikátor webu, tj. 'enwiktionary'
site_type
Verze MediaWiki: | ≥ 1.21 |
Typ webu, tj. 'mediawiki'
site_group
Verze MediaWiki: | ≥ 1.21 |
Skupina webu, tj. 'wikipedia'
site_source
Verze MediaWiki: | ≥ 1.21 |
Zdroj dat webu, tj. 'místní', 'wikidata', 'my-magical-repo'
site_language
Verze MediaWiki: | ≥ 1.21 |
Jazykový kód primárního jazyka stránek.
site_protocol
Verze MediaWiki: | ≥ 1.21 |
Protokol webu, tj. 'http://'
, 'irc://'
, '//'
.
Toto pole je index pro vyhledávání a je vytvořeno z dat specifických pro daný typ v site_data
.
site_domain
Verze MediaWiki: | ≥ 1.21 |
Doména webu v obráceném pořadí, tj. 'gro.ikiwaidem.www.'.
Toto pole je index pro vyhledávání a je vytvořeno z dat specifických pro daný typ v site_data
.
site_data
Verze MediaWiki: | ≥ 1.21 |
Typ závislých dat webu.
site_forward
Verze MediaWiki: | ≥ 1.21 |
Pokud by site.tld/path/key:pageTitle měl přesměrovat uživatele na stránku na skutečném webu, kde "klíč" je místní identifikátor.
site_config
Verze MediaWiki: | ≥ 1.21 |
Zadejte konfiguraci závislého webu. Například když by mělo být povoleno přepisování šablony, pokud se jedná o MediaWiki.
<span id="Managing_the_sites
_table">
Správa tabulky sites
Tabulka sites
je dodávána bez dat pro novou instalaci MediaWiki.
<span id="Importing_sites
_table_from_another_wiki">
Import tabulky sites
z jiné wiki
Existují dva způsoby, jak naplnit tabulku sites
pomocí jiné wiki jako zdroje.
Pokud máte přístup k serveru druhé wiki, můžete spustit údržbový skript exportSites.php
a importovat data pomocí importSites.php
údržbového skriptu vaší instalace MediaWiki.
Pokud nemáte přístup k serveru druhé wiki, ale jiná instalace MediaWiki má nainstalované rozšíření SiteMatrix, můžete použít údržbový skript z rozšíření Wikibase (populateSitesTable.php
) pro import všech stránek z jiné wiki.
Přidání nového webu
Pokud chcete přidat nový web do tabulky webů MediaWiki, můžete použít údržbový skript addSite.php
.
Kromě toho lze výše zmíněný skript údržby importSites.php
použít k přidání libovolné skupiny wiki ze souboru XML vytvořeného na míru v následujícím formátu:
<sites version="1.0" xmlns="https://www.mediawiki.org/xml/sitelist-1.0/">
<site type="mediawiki">
<globalid>wikisite1</globalid>
<group>mywikigroup</group>
<path type="file_path">https://www.wikisite1.org/$1</path>
<path type="page_path">https://www.wikisite1.org/index.php/$1</path>
</site>
<site type="mediawiki">
<globalid>wikisite2</globalid>
<group>mywikigroup</group>
<path type="file_path">https://www.wikisite2.org/w/$1</path>
<path type="page_path">https://www.wikisite2.org/wiki/$1</path>
</site>
</sites>
Každý <site>
prvek představuje web.
file_path
a page_path
lze odvodit ze stránky Special:Version
zamýšlené wiki.
Vložit rodinu wiki (pomocí skriptu)
Někdy musíte do této tabulky přidat své wikiny. Můžete použít tento kód:
$sites = [];
foreach ( [ 'en', 'fr' ] as $langCode ) {
$site = new MediaWikiSite();
$site->setGlobalId( $langCode . 'mywiki' );
$site->setGroup( 'mywiki' );
$site->setLanguageCode( $langCode );
$site->addInterwikiId( $langCode );
$site->addNavigationId( $langCode );
$site->setPath( MediaWikiSite::PATH_PAGE, "http://$langCode.mywiki.org/wiki/$1" );
$site->setPath( MediaWikiSite::PATH_FILE, "http://$langCode.mywiki.org/w/$1" );
$sites[] = $site;
}
$siteStore = MediaWikiServices::getInstance()->getSiteStore();
$siteStore->clear(); // This will remove all previous entries from the table. Remove this call if you want to keep them.
$siteStore->saveSites( $sites );
<span id="Reloading_the_cached_sites
_table">
Znovu načtení tabulky sites
uložených v mezipaměti
MediaWiki ukládá tabulku sites
do mezipaměti místního serveru (CACHE_ACCEL
), pokud je k dispozici (nainstalované ACPu nebo WinCache).
Po provedení změn v tabulce sites
pomocí kterékoli z výše uvedených metod byste měli znovu načíst nebo restartovat všechny dlouho běžící procesy MediaWiki PHP: Váš webový server, je nepřetržité zpracovává (pokud existují) atd.
Jinak se změny v tabulce sites
projeví až po vypršení platnosti mezipaměti.
Přehled změn ve schématu tabulky
≥ 1.35 Gerrit change 597664 |
Verze MediaWiki: | ≥ 1.35 Gerrit change 622214 |
DESCRIBE sites;
+-----------------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------------+------------------+------+-----+---------+----------------+ | site_id | int(10) unsigned | NO | PRI | NULL | auto_increment | | site_global_key | varbinary(64) | NO | UNI | NULL | | | site_type | varbinary(32) | NO | MUL | NULL | | | site_group | varbinary(32) | NO | MUL | NULL | | | site_source | varbinary(32) | NO | MUL | NULL | | | site_language | varbinary(35) | NO | MUL | NULL | | | site_protocol | varbinary(32) | NO | MUL | NULL | | | site_domain | varbinary(255) | NO | MUL | NULL | | | site_data | blob | NO | | NULL | | | site_forward | tinyint(1) | NO | MUL | NULL | | | site_config | blob | NO | | NULL | | +-----------------+------------------+------+-----+---------+----------------+
Verze MediaWiki: | 1.21 – 1.34 |
DESCRIBE sites;
+-----------------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------------+------------------+------+-----+---------+----------------+ | site_id | int(10) unsigned | NO | PRI | NULL | auto_increment | | site_global_key | varbinary(32) | NO | UNI | NULL | | | site_type | varbinary(32) | NO | MUL | NULL | | | site_group | varbinary(32) | NO | MUL | NULL | | | site_source | varbinary(32) | NO | MUL | NULL | | | site_language | varbinary(32) | NO | MUL | NULL | | | site_protocol | varbinary(32) | NO | MUL | NULL | | | site_domain | varbinary(255) | NO | MUL | NULL | | | site_data | blob | NO | | NULL | | | site_forward | tinyint(1) | NO | MUL | NULL | | | site_config | blob | NO | | NULL | | +-----------------+------------------+------+-----+---------+----------------+
Indexy
Verze MediaWiki: | ≥ 1.42 |
SHOW INDEX IN sites;
+-------+------------+-----------------+--------------+-----------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | +-------+------------+-----------------+--------------+-----------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | sites | 0 | PRIMARY | 1 | site_id | A | 0 | NULL | NULL | | BTREE | | | | sites | 0 | site_global_key | 1 | site_global_key | A | 0 | NULL | NULL | | BTREE | | | +-------+------------+-----------------+--------------+-----------------+-----------+-------------+----------+--------+------+------------+---------+---------------+