Migração para o Wordpress…

Tags: blog, sql.
Tags: ,

Após um período, maior do que o esperado, de instabilidade finalmente coloquei a versão beta do rodrigao.net com base no wordpress no ar. Ainda tenho alguns detalhes para ajustar, mas boa parte do trabalho já foi feita.

O meu principal problema enfrentado até agora foi a importação de tags. Os tags vindas do blogger são importadas no wordpress como categorias. Como eu precisava tanto das tags como de categorias tive que fazer uma gambiarra (to Mcgyve in inglês). A principio criei o seguinte Insert para duplicar os registros de categorias como tags:

INSERT INTO wp_term_taxonomy
(term_id, taxonomy, description, parent, count)
SELECT term_id, 'post_tag' as taxonomy, description, parent, count
  FROM wp_term_taxonomy
 WHERE taxonomy = 'category'

Após duplicar os termos de categorias em tags o segundo passo para a resolução do meu problema foi associar as tags aos post. Para isso eu criei um segundo insert:

INSERT INTO wp_term_relationships
(object_id, term_taxonomy_id)
SELECT wp1.object_id,
       (SELECT wp4.term_taxonomy_id
          FROM wp_term_taxonomy wp4 INNER JOIN wp_terms wp5
                                    ON wp5.term_id = wp4.term_id
         WHERE taxonomy = 'post_tag'
           AND wp5.name = wp3.name) AS term_taxonomy
  FROM wp_term_relationships wp1 INNER JOIN wp_term_taxonomy wp2
                                 ON wp2.term_taxonomy_id = wp1.term_taxonomy_id
                                 INNER JOIN wp_terms wp3
                                 ON wp3.term_id = wp2.term_id
 WHERE wp2.term_id != 2

Notem que exclui o termo de id dois de minha query já que este termo estava relacionado com a Blogroll… Espero que esse post ajude em outras migrações…

Relacionados

1 Comment

Leave a comment