Ao fazer a migração você pode decidir fazer manualmente ou usar algum componente específico para esta finalidade, nesta página iremos falar sobre a migração manual (ou como diz "no braço mesmo"), mesmo que você prefira fazer através de um componente, faz se necessário caso deseje se tornar desenvolvedor de componentes, conhecer todo o processo de inserção e estrutura da tabela de dados.
Aqui utilizaremos o PHPMYADMIN, para saber se as tabelas que possuem registros, basta passar o mouse sobre o nome da tabela no menu do lado esquerdo, é obvio aqui que as tabelas com nenhum registro não são necessárias serem exportadas.
Para exportar uma tabela é necessário que se selecione a tabela desejado, e depois clique no menu do topo em EXPORTAR.
Na tela de exportação, certifique-se que apenas a opção DADOS esteja selecionado, haja visto que a estrutura a ser utilizada será a da versão migrada.
Então, já sabe quais tabelas serão migradas? Quais tabelas você irá exportar?
Caso ainda não, paciência isso é uma terapia, analise com calma todas as tabelas do seu banco, e verifique quais as que houve alterações significativas.
Iremos falar das tabelas mais comuns, pois é impossível falar de todas, haja visto que isso pode variar conforme a sua estrutura e a quantidade de componentes que você utiliza, podendo ser mais ou menos, conforme o caso, por isso vamos nos a ter nas tabelas de dados mais básicas.
As tabelas mais comuns, e que provavelmente você precisará migrar será a de seção, categorias, conteúdo, links, enquetes e menus: que são representadas pelas tabelas a seguir.
Criei o gráfico abaixo para demonstrar quais tabelas tiveram alteração:
OBS: A tabela MAMBOTS foi renomeada para PLUGINS.
* Na versão 1.5 RC3 foram adicionadas as tabelas Banner Track e Menu Types, que não tinha na versão anterior.
Diante dessas informações, para proceder com migração manual você pode agir das seguinte forma:
OPÇÃO 01 - MODIFICAÇÃO NA SQL
Este método você irá Acrescentar ou alterar os parâmetros no INSERT da SQL, conforme for o caso. Por exemplo: A diferença da tabela $_categories para a nova é que agora há um campo "alias" entre "name" e "images.
::: Nesse caso o INSERT a seguir:
INSERT INTO `jos_categories` VALUES(1, 0, 'Latest', 'Latest News', 'taking_notes.jpg', '1', 'left', 'The latest news from the Joomla! Team', 1, 0, '0000-00-00 00:00:00', '', 0, 0, 1, '');
:: Ficaria assim
INSERT INTO `jos_categories` VALUES(1, 0, 'Latest', 'Latest News', '', 'taking_notes.jpg', '1', 'left', 'The latest news from the Joomla! Team', 1, 0, '0000-00-00 00:00:00', '', 0, 0, 1, '');
A diferença é quase que imperceptível, apenas foi acrescentado duas aspas, entre vírgulas onde seria o campo na posição equivalente do campo "alias".
OPÇÃO 02 - MODIFICAÇÃO NA ESTRUTURA
Já neste método você irá modificar a estrutura da tabela existente para que se equipare a nova versão na exportação.
Por exemplo, para solucionar o exemplo anterior, você criaria um campo que faltava na mesma posição, e exportaria todo SQL da versão antiga e importaria na nova.
Parece ser dor de cabeça, não? Não se preocupe, você ainda pode utilizar um componente para esta finalidade, veja na página a seguir.