Importar Banco De Dados InvisionFree Para O IPB 1.3

por em: , , , ,

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.

Como criar seção Matérias relacionadas no Blogger
Como criar seção Matérias relacionadas no Blogger

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.

Leia+ Como criar seção Matérias relacionadas no Blogger

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.

Como criar seção Matérias relacionadas no Blogger
Como criar seção Matérias relacionadas no Blogger

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…