Příručka:Databázová tabulka sites

From mediawiki.org
This page is a translated version of the page Manual:Sites table and the translation is 100% complete.
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.

Správa tabulky sites

Tabulka sites je dodávána bez dat pro novou instalaci MediaWiki.

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é SiteMatrix extension, můžete použít údržbový skript z Wikibase extension (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;
}
          
$sitesTable = SiteSQLStore::newInstance();
$sitesTable->clear(); // This will remove all previous entries from the table. Remove this call if you want to keep them.
$sitesTable->saveSites( $sites );

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, nepřetržité job runners (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      |         |               |
+-------+------------+-----------------+--------------+-----------------+-----------+-------------+----------+--------+------+------------+---------+---------------+