Posso alterar o site usado como provedor (de staging para produção)?

Tenho uma cópia de staging de alguns meses de um site WP. Pensei em tentar como o SSO funciona com o fórum (fechado para inscrições, ainda não lançado) e depois conectar com o site de produção, que terá um pouco mais de usuários adicionados nesse ínterim. Isso confundiria o Discourse? Eu tentaria com um punhado de usuários do staging como as coisas funcionam, mas o que acontece com eles quando a conexão for alterada para usar o outro site? O ID de usuário e o e-mail deles permanecem os mesmos, no entanto.

1 curtida

Se o ID de usuário e o e-mail do WordPress forem os mesmos em seus sites de produção e staging, você poderá mudar para usar o site de produção sem precisar fazer nenhuma alteração no lado do Discourse.

Seria uma boa ideia verificar novamente para ter certeza de que os IDs de usuário são os mesmos. Lembro-me que com os sites de staging e produção do WP Engine não havia garantia de que os IDs de usuário corresponderiam entre produção e staging - eles usam bancos de dados completamente separados. Certifique-se de que esse não seja o caso para seus sites de produção e staging.

Se você não tem certeza de que os IDs de usuário corresponderão entre produção e staging, e o parâmetro require_activation não está sendo definido como true na carga útil do SSO, você pode excluir com segurança todas as entradas existentes de SingleSignOnRecord do banco de dados do Discourse antes de mudar para o site de produção. Na primeira vez que os usuários existentes fizerem login no Discourse via WordPress, o Discourse os encontrará com base em seu endereço de e-mail e gerará um novo SingleSignOnRecord para eles.

As entradas existentes de SingleSignOnRecord podem ser excluídas do console Rails com:

SingleSignOnRecord.destroy_all

Se o parâmetro require_activation estiver sendo definido como true na carga útil do SSO, você ainda poderá excluir os registros de SSO no lado do Discourse. Antes que os usuários existentes possam fazer login no Discourse a partir do seu site de produção, você precisará marcar seus endereços de e-mail como verificados no WordPress. Detalhes sobre como fazer isso a partir de suas páginas de perfil do WordPress estão aqui: Validate Email Addresses with the WP Discourse plugin.

Se você tem um site WordPress de staging, eu recomendo fortemente que você também tenha um fórum Discourse de staging. Dessa forma, você não precisará se preocupar com o que pode acontecer se conectar seu WordPress de staging a um Discourse de produção.

Este é um cenário comum - alguém cria um site em algum serviço de hospedagem WordPress (digamos, WP Engine), testa as coisas no site de staging padrão e, em seguida, muda para produção. Respondi à mesma pergunta várias vezes quando estava prestando suporte ao Discourse. Um site de staging separado e permanente para o Discourse geralmente não era uma opção (ou realmente necessário).

1 curtida

Sim, você está certo, é um cenário relativamente comum.

No entanto, se o seu WordPress está em produção, como parece ser o caso deste colega (@Firsh, por favor, corrija-me se estiver errado), então acho que o risco/custo potencial de misturar ambientes de staging e produção é superado por qualquer tempo e custo economizados ao simplesmente iniciar uma instância separada do Discourse. Isso pressupondo que o seu staging é uma cópia do seu ambiente de produção (o que muitas vezes é o caso).

A menos que haja restrições organizacionais para iniciar novas instâncias (caso em que você provavelmente deveria ter um ambiente de staging separado de qualquer forma), é relativamente barato e fácil iniciar uma instância separada do Discourse no DigitalOcean, Vultr, etc., e evitar quaisquer problemas que possam surgir da polinização cruzada Staging ↔ Produção. Você provavelmente economizará tempo (e dinheiro-como-tempo) ao fazer isso. Você pode simplesmente desligá-lo quando terminar.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.