News:

Want to get involved in developing SMF, then why not lend a hand on our github!

Main Menu

Qual a diferença entre a versão 1.1.x e 2.0.x.?

Started by olhos-nos-olhos, June 05, 2015, 04:51:16 PM

Previous topic - Next topic

olhos-nos-olhos

Olá, boa noite.

Fiquei com a percepção, enquanto navegava por aqui, que já não vai haver atualizações para a versão 1.1.x e que aconselhavam a fazer o large upgrade para a versão 2.0.10. Ao navegar no meu fórum e neste não noto grandes diferenças e até já li qualquer coisa sobre uma futura versão 3.0...

A minha questão é a seguinte: qual é a diferença entre a versão 1.1.x e 2.0.x.?

Valerá a pena atualizar ou devo continuar como estou? Sei que há pessoal que tentou fazer e deu-se mal.

Estou a desenvolver um programa que tem ligações para mensagens específicas do fórum. Será que essa alteração não vai automaticamente alterar esses links? E os anexos não vão à vida? Até me arrepio todo de pensar que vou perder todos os mods que fui inserindo 'à lá mano' com tanto trabalho (porque não percebo muito de php)...

Nem sei que faça!

olhos-nos-olhos

Bem, fiz o download da pasta forum para o meu PC. Criei uma pasta forumm no meu espaço web. Ajustei o settings.php alterando a pasta forum para forumm. Enviei tudo de volta para esta pasta forumm no servidor. Fiz o upload do pacote upgrade para a pasta forumm. Executei o upgrade.php mas... deu erro!

Penso que provavelmente o download e o upload deverão ter alterado as permissões, não sei.
Será que aconteceu isso?
Se aconteceu, é importante?

Não tenho vontade de arriscar a arriscar o meu fórum. Preferia fazê-lo desta forma.

Podem dar-me alguma luz?

olhos-nos-olhos

Peço desculpa por colocar vários posts em resposta à minha primeira mensagem mas já que não há nenhuma resposta dos entendidos, vou fazendo experiências e colocando os resultados obtidos. Pode ser útil para outros visitantes.

Ainda bem que não atualizei o fórum!

Fiz uma cópia exata do meu fórum atual numa pasta diferente, sem nenhum MOD instalado!
Tentei fazer o upgrade e deu erro.

Instalei um fórum de raíz, totalmente VAZIO, com a mesma versão que tenho atualmente. Fiz o upgrade e DEU CERTO. Atualizou tudo corretamente.

Conclusão: provavelmente o problema está no transporte da base de dados embora no log de erros também faça referência ao pacote language. Tentei mil e uma vezes mas deu sempre erro. Nem começa a fazer o upgrade. O upgrade só é feito corretamente com uma versão vazia instalada de novo mas assim, com muito menos trabalho, posso instalar a última versão do smf a partir do CPanel... O problema é que de qualquer das formas perco tudo o que tenho atualmente.

margarett

Olá ;)

Ao fim de semana não ando muito por aqui ;)
Bom, tudo o que descreves parece o comportamento expectável para cada uma das tentativas que fizeste.

Vê se isto ajuda
Upgrading SMF

Em relação às diferenças, quando estiver no pc dou-te uma ideia geral ;)
Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

QuoteOver 90% of all computer problems can be traced back to the interface between the keyboard and the chair

olhos-nos-olhos

Olá, Bruno, boa noite.

Já tinha lido atentamente o link relativo ao Upgrading SMF mas ainda assim não consegui.

Acabei de fazer novamente uma cópia exata do meu fórum numa pasta forumm. Funciona exatamente à versão que tenho na pasta forum.

Desta vez, alterei a linguagem padrão para inglês pois a tinhas ficheiros pt com versões anteriores.

Fiz o upload do Large upgrade. Mas deu erro da mesma forma.

Eu só faço a copia do fórum para outra pasta para não danificar o meu fórum. É que cada vez que faço isto tenho de apagar tudo o que está na pasta forumm e colocar lá tudo de novo.

O erro que dá é este:

margarett

O procedimento é mais ou menos assim:
- duplicas os ficheiros e a base de dados (como já fizeste)
- corres o repair_settings para ajudar os caminhos e a informação da base de dados (para a cópia)
What is repair_settings.php?
- não te esqueças de colocar toda a gente com o tema default ( podes fazer isto a partir do próprio SMF depois de usares a ferramenta
- carrega o largar upgrade. Já deve dar
;)
Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

QuoteOver 90% of all computer problems can be traced back to the interface between the keyboard and the chair

olhos-nos-olhos

Vou precisar de muita paciência ou então acho que não vou mesmo conseguir. Já ando nisto há 2 dias e nada dá certo! Se não fosse o (enorme) problema de perder todos os dados, já tinha instalado uma versão nova de raiz. Que chatice!!

Vamos lá ver se me consigo explicar:

Se eu instalar o 1.1.21 de raiz e converter para 2.0.10 não há problema nenhum. O que eu pretendo é fazer uma cópia integral do meu fórum e da minha base de dados e converter o meu 1.1.21 para 2.0.10. E não consigo fazer isto.

O que eu estou a fazer e dá sempre erro:

- O meu fórum atual (versão 1.1.21) está a funcionar na pasta forum.
- Fiz um backup da base de dados pelo smf. Fiz também pelo phpMyAdmin. Guardei com 2 nomes diferentes no ambiente de trabalho.
- Fiz uma cópia de tudo o que está na pasta forum (o meu fórum atual) e coloquei na pasta forumm.

Se executar http://meu-dominio/forumm vejo tudo como se estivesse no meu fórum. Corro o repair-settings.php para ajustar os caminhos do Settings.php. Mas o Settings continua a apontar para a minha Base de dados original. Se eu tentar fazer o large upgrade assim, corro o risco de dar cabo dela, certo?

Então, tenho que criar uma nova base de dados e importar o backup que fiz no passo 2, não é? O problema é que a importação dá quase sempre erro e quando (muito raramente) consigo, o fórum 2 (que está na pasta forumm) deixa de funcionar.

Também não tenho bem a certeza se estarei a fazer bem a re-definição da Base de dados 2 no Settings.php

Como é que eu tenho feito?

Vou ao MySQL Database Wizard e crio uma nova base de dados. Depois vou ao phpMyAdmin para importar o backup que fiz antes. Apesar do fórum só ter cerca de 4900 mensagens e 900 membros, a importação demora quase sempre muito tempo e acaba em erro.

Quando consigo, tenho de ir ao Settings.php ajustar a direção da nova Base de Dados, verdade? Penso que deverá ser aqui que meto água. Tenho algumas dúvidas se estarei a fazer as alterações corretamente:

Como estava:
########## Database Info ##########
$db_server = 'localhost';
$db_name = 'nome_db_original';
$db_user = 'xerife';
$db_passwd = 'dfgfjhghjfgjhrreweffd';
$db_prefix = 'smf1_';

Como coloquei:
########## Database Info ##########
$db_server = 'localhost';
$db_name = 'nome_db_copia';
$db_user = 'xerife';
$db_passwd = 'dfgfjhghjfgjhrreweffd';
$db_prefix = 'smf1_';

Não sei o que é o $db_prefix pois quando crio a Base de Dados não é feita nenhuma referência a isto.

Bruno... diz-me que percebeste e que é fácil resolver isso. Que estou a ser marreta e a falhar numa coisa muito simples.

margarett

Quotediz-me que percebeste e que é fácil resolver isso. Que estou a ser marreta e a falhar numa coisa muito simples.
É simples e é fácil resolver isso. Estás a ser marreta e a falhar numa coisa muito simples
;D ;D ;D ;D

QuoteMas o Settings continua a apontar para a minha Base de dados original. Se eu tentar fazer o large upgrade assim, corro o risco de dar cabo dela, certo?
Certo

Quotetenho que criar uma nova base de dados e importar o backup que fiz no passo 2, não é?
Exactamente. O que tu tens de duplicar todo o teu fórum actual. A BD é *FUNDAMENTAL* (muito mais que os ficheiros)

QuoteO problema é que a importação dá quase sempre erro
Isso é normal na maior parte dos hosts. A importação da BD é um processo pesado e a maior parte dos hosts acabam por dar erro durante esse processo...
Tens  2 hipóteses:
* Pedes ao teu host para te duplicar a BD (e eles fazem-te isso, do lado do servidor, em 30 segundos ou menos)
* Carregas o backup via FTP para uma pasta do teu host e usas uma ferramenta que permita a importação "por partes". Existem 2 que eu conheça:
http://www.ozerov.de/bigdump/
http://www.mysqldumper.net/

Quoteo fórum 2 (que está na pasta forumm) deixa de funcionar.
Explica "deixa de funcionar". Temos de ter detalhes ;)

QuoteVou ao MySQL Database Wizard e crio uma nova base de dados
Sim. Mas normalmente tens de ter um utilizador associado a uma base de dados e essa nova BD pode não ter nenhum. Mas também pode, depende de host para host...

QuoteQuando consigo, tenho de ir ao Settings.php ajustar a direção da nova Base de Dados, verdade?
Não mexas no Settings.php. A ferramenta repair_settings faz isso por ti.
Depois de lhe dares o nome da nova BD (e guardar, obviamente), a questão do utilizador é logo testada. Ou seja, idealmente mudas só o nome da BD, guardas e já não tens erros relativos à base de dados. Se continuares com erros relativos à BD depois de mudares o nome desta (para a cópia), o utilizador (no teu exemplo "xerife") não tem permissão para aceder a esta cópia. Faz sentido? ;)

QuoteNão sei o que é o $db_prefix pois quando crio a Base de Dados não é feita nenhuma referência a isto
O prefixo é o nome comum de todas as tuas tabelas. Por exemplo, "smf_messages", "smf_topics", "smf_members", ...
Então, o prefixo é "smf_". Este prefixo permite-te ter vários fóruns a usar a mesma BD sem que as tabelas se substituam todas :P Mas o normal é teres só um prefixo por BD
Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

QuoteOver 90% of all computer problems can be traced back to the interface between the keyboard and the chair

olhos-nos-olhos

Olá, bom dia :)

Se calhar estava a fazer (quase) tudo bem! Tentei, tentei, tentei importar... até que deu certo! Também coloquei a hipótese do problema da importação ser do servidor porque de vez em quando dava certo, embora a maior parte das vezes desse erro.

Ajustei os caminhos com o repair_settings.php...

No settings.php só mudei o $db_name...

Fórum Original:
########## Database Info ##########
$db_server = 'localhost';
$db_name = 'nome_db_original';
$db_user = 'xerife';
$db_passwd = 'dfgfjhghjfgjhrreweffd';
$db_prefix = 'smf1_';

Fórum Cópia:
########## Database Info ##########
$db_server = 'localhost';
$db_name = 'nome_db_copia';
$db_user = 'xerife';
$db_passwd = 'dfgfjhghjfgjhrreweffd';
$db_prefix = 'smf1_';

Ao entrar na 'Administração' de ambos os fóruns, em 'configurações do servidor', posso confirmar que o nome da BD está diferente, embora o prefixo das tabelas da BD seja o mesmo. Os caminhos também estão corretamente ajustados.

Após isto, tentei entrei em ambos os fóruns e aparentemente está tudo a funcionar 100%.

Reparei, nas mensagens recentes, que não aparecia nada. Fiz a optimização das tabelas e corri aquelas rotinas que estão no painel da Administração. No fórum original ficou (aparentemente) tudo bem. No fórum cópia nem por isso mas não achei grave porque se colocar uma mensagem nova, o fórum cópia aceita-a a ela já aparece nas mensagens recentes. Coloquei várias e as mensagens recentes são repostas normalmente. Deve ser como numa operação à cabeça, não? Perde-se a memória por causa da anestesia e depois as coisas vão voltando ao normal, heheheh.

Outra coisa. Talvez o mais importante: Ao colocar uma mensagem no fórum cópia, ela não aparece no fórum original e vice-versa. Isto quer dizer que tenho o meu fórum clonado e estou a usar duas BD gémeas, estando a original protegida, não é?


Então agora posso tentar fazer o upgrade no fórum original (ou no fórum cópia) sem receio de perder nada?

Sim, já sei: devo colocar o tema default para toda a gente (é o único que estou a usar) e, de preferência em inglês, devendo os ficheiros de linguagem estar devidamente atualizados. Correto?

margarett

Sim, sim e sim :)

A questão de não aparecerem as últimas mensagens... Devia. Não te sei dizer porquê ao certo, honestamente. Mas as mensagens deviam aparecer. Como vais actualizar essa base de dados, não será grave.
Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

QuoteOver 90% of all computer problems can be traced back to the interface between the keyboard and the chair

olhos-nos-olhos

Boa noite.

Mais uma noite de luta! Após vários erros, consegui finalmente transformar o fórum copia na versão 2.0.10. Agora, nas calmas, vou então atualizar o fórum original para a versão mais recente.

A minha opinião é que, para quem não está muito familiarizado com isto, é francamente complicado fazer estas passagens. Era excelente se houvesse uma ferramenta bem mais eficaz de criar o backup da base de dados e recuperá-la, a partir do próprio fórum. Alguns passos poderiam também ser muito mais simplificados mas também é verdade que existe aqui pessoal espetacular que nos vai ajudando a resolver estes contratempos...

Espero não voltar aqui pelo mesmo motivo embora não descarte essa possibilidade. Na verdade, após tantos erros inesperados, ainda estou perplexo e confuso por ter conseguido fazer a atualização no fórum cópia.

Para quem deseja aventurar-se nesta tarefa, o conselho que deixo é o seguinte: tenham o cuidado de proteger a vossa base de dados fazendo o backup dela. Copiem e salvaguardem o conteúdo da pasta onde têm o fórum original. Criem uma pasta de teste e coloquem lá o conteúdo do vosso fórum original. Vão à secção da Administração e mudem o nome da base de dados para a cópia da vossa base de dados original. O repair_settings tem de estar sempre à mão porque podem precisar várias vezes dele. Deixem uma cópia do settings.php no ambiente de trabalho ou num local facilmente acessível porque se repetirem os meus erros vão ter que fazer o upload várias vezes para corrigir borradas. Mudem o tema para o default e metam o inglês como a língua padrão durante esta aventura...

Irra! Deixa-me lá beliscar que acho que ainda não acordei.

Obrigado Bruno :)

Advertisement: