WordPress 2.3 e le tabelle mancanti

Mai che ne andasse bene una…

Ecco cosa mostrava la procedura di aggiornamento a WordPress 2.3, una volta terminate le operazioni sul database.

Ops, per qualche ragione non sono state create quattro tabelle fondamentali.

Come rimediare? Semplice.

Come prima operazione, eseguite da shell un dump di tutto il database:

mysqldump -u nome_utente nome_database > 2007-09-25.database.dump.sql

Osservazione: prendete la buona abitudine di prefissare i vostri dump con data in stile americano.

Ora, eseguite da shell il dump delle tabelle categories e post2cat:


mysqldump -u nome_utente nome_database eventuale_prefisso_tabella_categories -p > 2007-09-26.categories.sql
mysqldump -u nome_utente nome_database eventuale_prefisso_tabella_post2cat -p > 2007-09-26.post2cat.sql

Adesso.

PRIMA di aggiornare, collegatevi al database utilizzato da WordPress, con la stessa utenza usata dal programma, e lanciate le seguenti query:


CREATE TABLE eventuale_prefisso_tabella_blog_terms (
term_id bigint(20) NOT NULL auto_increment,
name varchar(55) NOT NULL default '',
slug varchar(200) NOT NULL default '',
term_group bigint(10) NOT NULL default 0,
PRIMARY KEY (term_id),
UNIQUE KEY slug (slug)
);

CREATE TABLE eventuale_prefisso_tabella_blog_term_taxonomy (
term_taxonomy_id bigint(20) NOT NULL auto_increment,
term_id bigint(20) NOT NULL default 0,
taxonomy varchar(32) NOT NULL default ”,
description longtext NOT NULL,
parent bigint(20) NOT NULL default 0,
count bigint(20) NOT NULL default 0,
PRIMARY KEY (term_taxonomy_id),
UNIQUE KEY term_id_taxonomy (term_id,taxonomy)
);

CREATE TABLE eventuale_prefisso_tabella_blog_term_relationships (
object_id bigint(20) NOT NULL default 0,
term_taxonomy_id bigint(20) NOT NULL default 0,
PRIMARY KEY (object_id,term_taxonomy_id),
KEY term_taxonomy_id (term_taxonomy_id)
);
Ovviamente, eventuale_prefisso_tabella può essere tralasciato nel caso in cui le tabelle del database non avessero prefisso.

A questo punto, sovrascrivete i file del vostro blog con la nuova versione di WordPress e lanciate lo script di aggiornamento:


http://vostra_url/wp-admin/upgrade.php

Cliccate quanto basta per arrivare in fondo alla procedura, non preoccupatevi di eventuali chiavi duplicate (troppo pigri per farlo?)

Ora andate nel pannello di amministrazione, provate a scrivere un post, sbirciate in basso, dalle parti del modulo per il caricamento dei file e…

Ahem…durante l’aggiornamento la procedura ha cancellato le tabelle categories e post2cat. Ecco a cosa servivano i backup delle due tabelle in questione, eseguiti prima dell’aggiornamento.

Non rimane che ripristinare le due tabelle mancanti, lanciando da shell i seguenti comandi:


mysql -u nome_utente nome_database -p < 2007-09-26.categories.sql
mysql -u nome_utente nome_database -p < 2007-09-26.post2cat.sql

Fatto. WordPress riprenderà a funzionare senza segnalare ulteriori errori.

Per ora.

WordPress 2.1 Easter Egg

Piccolo trucco in WordPress 2.1.

Se prima l’editor visuale era così…

visual-editor-before.png

Premendo

Alt + Shift + v in Firefox

o

Alt + v in Internet Explorer

L’editor visuale diventa così…

visual-editor-after.png

Da notare i pulsanti “Paste as Plain Text” e “Paste from Word”, così come “Cleanup messy code” e “Insert custom character”.

Il resto, scopritelo voi.

[Via Solo Technology]

WordPress 2.1 e i la tabella senza link…

Ahem….

dopo il mio ultimo aggiornamento garibaldino alla versione 2.1 di WordPress, oggi mi sono accorto che nella finestra di composizione dei post, la sezione “Categorie” riportava un bell’errore su database.

Oh, va bene, me ne ero accorto pure in fase di installazione, si, vero, WordPress rognava dicendo che la colonna link_count non esisteva.

Però, si, ok, non tutti gli errori sono fondamentali, alcuni sono celiosi, esiziali.

Tant’è, però non è carino un errore perenne nell’admin. La soluzione? Ahem, connessione al database e quindi lancio di una semplice query per alterare la struttura della tabella categories in modo da aggiungerle i tre campi inesistenti;

ALTER TABLE categories ADD column link_count bigint(20) NOT NULL default '0' AFTER category_count, ADD column posts_private tinyint(1) NOT NULL default '0' AFTER link_count, ADD column links_private tinyint(1) NOT NULL default '0' AFTER posts_private;

Ora pare tutto a posto. Secondo me, qualche altra magagna uscirà ancora, ma l’aspetto al varco. Da qui non scappa.

P.S.

Questa versione mi sembra un po’ più lenta delle precedenti.

Aggiornato a WordPress 2.1

Aggiornato alla nuova major release di WordPress.

Questa volta ha rognato su qualche campo del database, ma pare funzionare. Peccato che lo script di installazione mi abbia dato l’ok di fine aggiornamento anche con le query farlocche al database..

Nel caso, modifico a mano le tabelle.