Solicitação de aprimoramento para o script de importação do phpBB3

Tentei isto também:

> root@vps116136-import:/var/www/discourse/config# su discourse -c “bundle exec rake db:drop”
> exec: line 1: “bundle: command not found

Desculpe, eu deveria ter antecipado essas verificações.

Tente executar o comando drop com esta variável de ambiente:

cd /var/discourse
./launcher enter <seu-nome-do-container>

su discourse
DISABLE_DATABASE_ENVIRONMENT_CHECK=1 bundle exec rake db:drop

Este em particular não funcionou porque você não estava no diretório onde o Gemfile do projeto está, no seu caso: /var/www/discourse.

Uma nota rápida: a maneira mais fácil seria ter um backup desde o primeiro início do fórum, assim você simplesmente o restauraria antes de tentar importar novamente, mas assumindo que você não tinha isso, ficamos com esse redefinição suave (soft reset).

Ainda sem sucesso.

root@vps116136-import:/var/www/discourse# su discourse
discourse@vps116136-import:/var/www/discourse$ DISABLE_DATABASE_ENVIRONMENT_CHECK=1 bundle exec rake db:drop
PG::InsufficientPrivilege: ERROR:  must be owner of database discourse
Couldn’t drop database ‘discourse’
rake aborted!
ActiveRecord::StatementInvalid: PG::InsufficientPrivilege: ERROR:  must be owner of database discourse (ActiveRecord::StatementInvalid)

…

Tentando agora como root…

1 curtida

Não.

root@vps116136-import:/var/www/discourse# DISABLE_DATABASE_ENVIRONMENT_CHECK=1 bundle exec rake db:drop
fatal: detected dubious ownership in repository at ‘/var/www/discourse’
To add an exception for this directory, call:

    git config --global --add safe.directory /var/www/discourse

rake aborted!

Esqueça minhas primeiras instruções :smiling_face_with_tear:

  1. Use docker cp para copiar seu backup mais recente para fora do contêiner. Os backups ficam em /shared/backups/default.
  2. Exclua a pasta compartilhada do seu diretório de instalação (o local de onde você executa ./launcher): rm -rf /var/discourse/shared
  3. Reconstrua o contêiner usando ./launcher rebuild \u003ccontainer-name\u003e.

Isso deve resolver, mas tenha cuidado para não perder seu backup. Eu estava tentando evitar sugerir isso para que você não excluísse seu backup acidentalmente, mas parece ser o único caminho a seguir.

Vai demorar um pouco. O arquivo tar.gz tem 15GB.

1 curtida

Na verdade, vai levar…

200

Já foram .5GB desde que comecei.

1 curtida

Concluído.

Feito.

Completo. Pronto para executar o script de importação, mas…

/var/discourse/shared/standalone/import
├── data
├── mysql
└── settings.yml

Eu apaguei isso :index_pointing_up: à toa, não foi.

1 curtida

Sim.

Eu presumo que você criou um volume para seu contêiner mysql dentro da pasta compartilhada. Se for esse o caso, infelizmente você terá que reiniciar o contêiner e restaurar o banco de dados novamente.
Os anexos você pode simplesmente copiar.

O settings.yml não deve ser tão difícil de configurar novamente.

Não tenho certeza do que significa recriar um contêiner. Na primeira vez, coloquei phpbb_mysql.sql no diretório mysql de acordo com estas instruções. Há mais alguma coisa a fazer além disso?

Os anexos você pode simplesmente copiar.

Sim. Exceto que o tar.gz tem 15GB porque há 45GB de dados no diretório /files do phpBB. Eu administro meu fórum há 22 anos, sabia! Então sim, eu os copiarei de volta. Mas provavelmente, só pegarei isso novamente amanhã.

1 curtida

Sim, essa é a natureza das migrações de comunidade. Um bom conselho seria começar com uma amostra menor e, depois de dominar o processo, você pode executar uma importação completa.

Há esforços em andamento para tornar as ferramentas mais flexíveis e o processo menos redundante, mas este é um assunto muito complexo.

Espero que tudo corra bem na sua execução amanhã.

Concordo! Mas o phpBB não facilita a redução do tamanho da amostra. Estou meio que preso com o que tenho. Ainda assim, era um ambiente de teste e nada é irrecuperável.

Obrigado! Eu postarei aqui depois. A propósito, agora que sou um especialista em docker cp :zany_face:, seria um grande problema modificar o script ruby para imprimir o post_id do phpBB quando algo assim acontece?

8000 / 24451 ( 32.7%) [677 items/min] W, [2026-01-13T02:50:22.466363 #25640] WARN – : Bad date/time value “0000:00:00 00:00:00”: mon out of range
W, [2026-01-13T02:50:22.466500 #25640] WARN – : Bad date/time value “0000:00:00 00:00:00”: mon out of range
W, [2026-01-13T02:50:22.466600 #25640] WARN – : Bad date/time value “0000:00:00 00:00:00”: mon out of range