Voor het wijzigen van de WordPress database prefix zijn verschillende plugins beschikbaar. Deze plugins wijzigen echter niet altijd alle prefixes. De WordPress database prefix wordt namelijk naast in de tabel namen ook gebruikt in de ‘options’ en ‘usermeta’ tabellen. Jan Egbert tipte me daarom over de volgende SQL query:
UPDATE wp_usermeta SET meta_key = REPLACE(meta_key, 'wp_', 'nieuweprefix_') WHERE meta_key LIKE 'wp\_%';
Via een aantal andere websites kwam ik er achter dat ook de ‘options’ tabel de WordPress database prefix wordt gebruikt. Daarom zal waarschijnlijk ook de volgende query uitgevoerd moeten worden:
UPDATE wp_options SET option_name = REPLACE(option_name, 'wp_', 'nieuweprefix_') WHERE option_name LIKE 'wp\_%';
Bovenstaande queries gaat echter fout zodra de WordPress database prefix terug komt in de optie naam of de user meta key.
umeta_id | user_id | meta_key | meta_value |
---|---|---|---|
1 | 1 | wp_pronamic_wp_version | 3.5 |
Zal na het uitvoeren van de query gewijzigd worden naar:
umeta_id | user_id | meta_key | meta_value |
---|---|---|---|
1 | 1 | nieuweprefix_pronamic_nieuweprefix_version | 3.5 |
De “Change DB Prefix” plugin lijkt uitgerust zijn met de juiste queries:
http://plugins.trac.wordpress.org/browser/db-prefix-change/tags/1.1/db_prefix.php#L83