Pular para o conteúdo principal

Migração do banco de dados do AirysChat

Acompanhe se você começou com uma instalação empacotada do postgres, redis e airyschat em uma única instância e agora deseja migrar para um serviço de banco de dados gerenciado. Neste guia, assumimos que você deseja migrar para o AWS RDS. Este guia deve ser igualmente aplicável a qualquer outro serviço de banco de dados gerenciado ou até mesmo à migração de dados entre diferentes instalações do AirysChat.

Etapa 1: Parar o serviço do AirysChat

Pare o serviço do AirysChat para interromper a atividade do banco de dados.
sudo systemctl stop airyschat.target

Etapa 2: Fazer backup do banco de dados

Faça o backup do banco de dados usando a ferramenta pg_dump.
pg_dump -Fc --no-acl --no-owner  -U postgres airyschat_production > /tmp/cw.dump

Etapa 3: Criar instância do RDS

Crie uma instância Postgres do RDS na sua conta AWS. Consulte a documentação da AWS.

Etapa 4: Verificar conectividade

Verifique a conectividade com a nova instância do RDS a partir da sua instalação do AirysChat.
psql -h <hostname> -u <username> -d postgres

Etapa 5: Restaurar o banco de dados

Restaure o banco de dados a partir do arquivo de backup.
pg_restore --verbose --clean --no-acl --no-owner --create -U postgres -d postgres /tmp/cw.dump

Etapa 6: Atualizar variáveis de ambiente

Modifique as variáveis de ambiente relacionadas ao Postgres para usar as novas credenciais do RDS.
sudo -i -u airyschat
cd airyschat
vi .env

Etapa 7: Iniciar o serviço do AirysChat

Inicie o serviço do AirysChat.
sudo systemctl start airyschat.target
Se você estiver recebendo a tela de integração do AirysChat novamente ao visitar a URL do seu AirysChat auto-hospedado, faça login no rails console e execute o seguinte:
sudo cwctl --console
::Redis::Alfred.delete(::Redis::Alfred::AIRYSCHAT_INSTALLATION_ONBOARDING)