Importar Banco De Dados InvisionFree Para O IPB 1.3

Um banco de dados representado graficamente.

Esta matéria irá dar continuação a saga que está sendo converter meu fórum InvisionFree para o phpBB. O primeiro passo foi comprar o banco de dados, e já demos várias dicas a esse respeito em um artigo anterior. O segundo foi baixar e instalar o Invision Power Board 1.3, e agora veremos como importar o backup do IF para o IPB, para somente depois aprendermos a converte-lo para o phpBB. Uma vez lidos os artigos anteriores vamos ao próximo sem mais delongas.

Com o seu IPB 1.3 já instalado e funcionando podemos agora fazer a importação dos dados. O método pode variar dependendo do seu servidor, sendo que o mais comum é usar a ferramenta phpMyAdmin, localizada dentro do cPanel. Com ele aberto precisaremos escolher o database correto, lembrando que nós escolhemos o seu nome quando fizemos a instalação do ipb.

Limpe O Database Da Instalação Original E Importe Tudo

Tendo escolhido o banco de dados certo clique na aba SQL, depois copie e cole todos os comandos informados pelo suporte do InvisionFree e em seguida de um Executar. Isto irá limpar todos os dados preexistente com o objetivo de evitar-mos erros de compatibilidade.

Executando uma consulta para limpar a instalação.

Clique na aba Importar e depois em escolher arquivo. Este arquivo é exatamente aquele que você comprou do invisionfree, um com a extensão SQL. Faça um executar e… pumba! Provavelmente recebeu uma mensagem de erro. Isto porque o o InvisioFree não é exatamente igual ao IPB 1.3. Os bugs podem variar de acordo com o database que você recebeu, mas geralmente é apenas uma tabela ou campo a mais ou a menos. Veja esse exemplo:

Erro
consulta SQL:

INSERT IGNORE INTO ibf_stats( TOTAL_REPLIES, TOTAL_TOPICS, LAST_MEM_NAME, LAST_MEM_ID, MOST_DATE, MOST_COUNT, MEM_COUNT, stopped_posts, stopped_members )

VALUES ('12439', '1840', 'simalice113', '13472', '1313685316', '105', '5606', '26', '0');

Mensagens do MySQL :
#1054 - Unknown column 'stopped_posts' in 'field list'

Eliminando Os Erros E Bugs Da Importação

Isto significa que a tabela ibf_stats do InvisionFree possui o campo stopped_posts e o tabela ibf_stats do IPB 1.3 não a possui. Para resolver isto basta usar o phpMyAdmin e criar este campo, e também o stopped_members, que neste caso são do tipo numeral.

Se você não entenda nada de mySQL, phpMyAdmin, tabelas, campos e coisas do tipo, não se preocupe, o google ta cheio de tutoriais sobre estas coisas, todavia, o vídeo abaixo pode lhe ajudar:

Outra possibilidade é abrir seu database no bloco de notas e eliminar todas as linhas que possuam a tabela que está dando erro, que no exemplo é a ibf_stats. Mas isto envolve uma perda de dados, que podem ou não ser importantes para o seu fórum, e nesse caso não o são.

A última opção seria ir no database e eliminar todas as informações dos campos que estão dando problema. O que equivale a apagar cada referência as palavras stopped_posts e stopped_members, assim como os seus respectivos valores. Devo alertar que se forem muitas linhas este artifício poderá ser extremamente demorado, mas dependendo da situação pode ser que valha a pena.

O primeiro método é o mais simples, as outras idéias foram expostas apenas para entender que existem múltiplas soluções para múltiplos problemas. Tudo resume-se simplesmente em saber como manipular as tabelas, campos e dados em mySQL. No meu caso, e provavelmente no seu, o único erro que recebi foi esse do exemplo, e me bastou aplicar a primeira técnica que tudo se resolveu.

Um Último Bug A Ser Corrigido E Esta Feito

Como eu bem disse os bugs podem variar, isso vai depender do dump feito pelo InvisionFree e também das ferramentas e aplicativos que são usadas no seu servidor de hospedagem. Eu particularmente só passei por dois erros, um é o descrito la em cima, e o outro foi uma truncagem na acentuação.

Importe o banco de dados como o charset correto.

Acontece que o phpMyAdmin estava importando como sendo UTF-8, mas o database não era UTF-8, e isso fazia com que os acentos ficassem desfigurados. Eu tentei salvar o database como UTF-8 através do meu editor de texto, mas ai obtive um erro de sintaxe mySQL ao importa-lo. Então fui atrás de uma solução melhor, apesar de que tudo parecia estar funcionando perfeitamente.

Abrindo o arquivo no FireFox e indo em Desenvolvedor Web > Codificação eu pude descobrir que o charset original era ISO-8859-1, ai bastou selecionar a opção correta ao importar e tudo deu certo.

Como descobrir o charset do seu database.

Esta sendo uma bela maratona converter o meu antigo fórum do InvisionFree para o phpBB. Até o presente momento já aprendi e ensinei a comprar o banco de dados e também a instalar o IPB 1.3. Neste artigo vimos como importar o database, que é a parte mais complicadinha, e em breve eu irei postar uma matéria falando da conversão propriamente dita. É isso!

! 1 comentário até o momento

Escreva O Seu Comentário!

Ficou com alguma dúvida?
Tem uma crítica construitiva ou uma sugestão maneira?
Escreva ai embaixo, mas não maltrate o português, por favor!

  1. César comentou: responder

    nossa velho nem sabia que dava pra fazer isso…