Fazer backup apenas das configurações

De acordo com o link, há interesse, mas vários anos se passaram e não sei se eles realmente implementaram ou não.

Um cenário muito útil para isso é configurar um servidor VPS com exatamente as mesmas configurações do servidor de produção, e este VPS clonado seria apenas para desenvolvimento. Dessa forma, posso trabalhar de forma mais eficaz com minha equipe de desenvolvedores.

4 curtidas

Hmm… você viu a solução que o @pfaffman postou?

1 curtida

Não é uma solução nativa, e o repositório deixa claro que pode falhar.

Você pode usar as Operações em Massa Administrativas (link do README):

2 curtidas

Você precisa de muito mais do que apenas as configurações para ver que as coisas funcionam. Por que não restaurar o banco de dados de produção para o ambiente de teste (staging)? Veja Configurar um servidor de teste (staging).

3 curtidas

Uma pergunta: isso também clona as credenciais e o conteúdo do fórum? Porque, obviamente, os desenvolvedores não precisam disso, apenas da configuração básica para desenvolver os plugins. Eu não quero que eles tenham acesso às contas dos meus usuários, muito menos às contas de Administrador.

Sim - ele clona absolutamente tudo. Se você tem desenvolvedores não confiáveis, talvez não seja a melhor coisa. Pessoalmente, eu contrataria desenvolvedores confiáveis!

Como está, você precisaria se comprometer a clonar a estrutura que você precisa (por exemplo, configurações, categorias, grupos, plugins, etc.) e mantê-la sincronizada manualmente, cloná-la novamente quando necessário ou desenvolver sua própria solução para automatizá-la.

Boa sorte!

1 curtida

Então talvez a estrutura de exportação seja próxima do que você precisa. Ela não exporta conteúdo

3 curtidas

Posso escolher o que exportar, certo? Quais são todas as opções disponíveis? “etc.” não ajuda muito.

Não. Mas não há etc.
Ele exporta

  • configurações
  • usuários administradores
  • grupos
  • categorias
  • tags/grupos de tags
  • temas/componentes de tema/configurações

Mesmo que você confie nos seus desenvolvedores, pode haver regulamentações (como a GDPR) que proíbem você de compartilhar informações pessoais com pessoas fora de uma determinada jurisdição ou que exigem que você minimize a quantidade de informações pessoais copiadas para outro sistema. Um servidor de desenvolvimento ou de staging executa software não testado que pode conter problemas de segurança.

Nós sempre executamos algo como isto no servidor de staging imediatamente após restaurar o backup da produção, o que anonimiza todos os usuários, exceto a equipe e aqueles no grupo testusers.

keep_groups = Group.where(name: ['staff', 'testusers']).pluck(:id)
acting_user = User.find(-1)
User.all.each do |u|
  next if u.in_any_groups? keep_groups
  user = UserAnonymizer.new(u, acting_user).make_anonymous
end