Migrace zúčastněných

This page is a translated version of the page Actor migration and the translation is 100% complete.
Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Esperanto • ‎Türkçe • ‎azərbaycanca • ‎español • ‎français • ‎lietuvių • ‎polski • ‎português do Brasil • ‎svenska • ‎čeština • ‎русский • ‎हिन्दी • ‎日本語

Historicky ukládala MediaWiki odkazy na uživatele (například autora revize nebo obrázku) jako dvojici [<id>, <name>], s [0, <IP adress>] pro anonymní úpravy. To bylo plýtvání úložným prostorem, způsobovalo problémy s výkonem na wiki s velkým počtem revizí a bylo velmi obtížné přejmenovat uživatele nebo představit nové typy autorů jako T133452. MediaWiki 1.31 zavádí koncept „zúčastněných“ (někoho, kdo provádí akci, jako je editace nebo událost protokolu; aktuálně buď registrovaný uživatel, nebo anonymní), a migrační proces směrem k novému databázovému schématu, kde jsou sloupce jako revision.rev_user a revision.rev_user_text nahrazené sloupci jako revision.rev_actor. Vzhledem k obrovské velikosti tabulky revision na anglické Wikipedii, která musí být plně odstraněna, než bude možné změny vyčistit, probíhá migrace postupně během několika vydání MediaWiki. Očekává se, že migrace skončí s verzí MediaWiki 1.34.

Migrace vytvoří záznam v tabulce actor pro každou různou dvojici *_user / *_user_text a nahradí je odkazem na záznam v tabulce actor. Přemísťují se následující sloupce:

Tabulka Staré sloupce Nový sloupec
revision rev_user, rev_user_text rev_actor
archive ar_user, ar_user_text ar_actor
ipblocks ipb_by, ipb_by_text ipb_by_actor
image img_user, img_user_text img_actor
oldimage oi_user, oi_user_text oi_actor
filearchive fa_user, fa_user_text fa_actor
recentchanges rc_user, rc_user_text rc_actor
logging log_user, log_user_text log_actor

Abychom se vyhnuli náročným ALTER TABLE na extrémně obrovských revision tabulkách velkých Wikipedií, rev_user a rev_user_text jsou nejprve zkopírovány do tabulky revision_actor_temp a odtud zpět do revision. Poté bude tabulka revision_actor_temp zrušena.

Jste-li vlastníkem wiki, pravděpodobně nemusíte nic dělat. K migraci dojde automaticky, když spustíte update.php. Pokud chcete mít pod kontrolou, kdy dojde k migraci, podívejte se na údržbový skript $wgActorTableSchemaMigrationStage a migrateActors.php .

Pokud jste vývojář rozšíření a vaše rozšíření provádí přímý databázový přístup k některým dotčeným sloupcům, budete muset své dotazy aktualizovat (a v ideálním případě použít metody getQueryInfo(), jako je Revision::getQueryInfo(), místo manuálního vytváření dotazu). Během období migrace můžete také použít třídu ActorMigration k získání informací o schématu / sloupci, která respektuje všechna nastavení $wgActorTableSchemaMigrationStage.

Pokud jste vývojář nástrojů používajících Toolforge , může být ovlivněn výkon, i když přímo nepoužíváte žádná z migrujících polí. Další informace viz wikitech:News/Actor storage changes on the Wiki Replicas.