Esse é o ponto da configuração acima; é muito útil ter o servidor de staging apontando para o mesmo bucket, pois isso facilita muito a sincronização.\n\nNo entanto, você não quer que ele contribua com nenhum backup automaticamente (ou exclua algum) - daí essas configurações desativadas:\n\n[quote="Nathan Kershaw, post:1, topic:225951, username:nathank"]\n\n DISCOURSE_AUTOMATIC_BACKUPS_ENABLED: false\n DISCOURSE_S3_DISABLE_CLEANUP: true\n\n[/quote]\n\nConcordo que a CDN precisa ser desativada para o seu site de staging. Eu mesmo não mexi com isso, mas assim que você descobrir como fazer, por favor, atualize / adicione a wiki na OP.
Obrigado, Nathan. Vi menções a backups do S3 facilitando as coisas, mas um backup é diferente dos ativos do site, então não tinha certeza.
Já desativei os backups e os e-mails, então está tudo bem. Vou me concentrar em apontar o servidor de staging para o bucket existente e garantir que ele não esteja usando a CDN.
Compartilhar backups é muito bom porque facilita a cópia do seu banco de dados de produção para o ambiente de staging.
Planejo criar um espelho da minha produção do Discourse usando o método rsync.
Tenho alguns outros sites que se integram ao Discourse, então ter as versões de desenvolvimento/teste desses sites capazes de acessar e interagir com uma versão de desenvolvimento/teste/staging do Discourse seria ideal.
Portanto, eu o ligaria apenas quando necessário e restauraria um backup do banco de dados da minha PROD para o meu STAGING periodicamente - não diariamente e talvez apenas uma vez por mês.
Se eu fizer isso, como posso impedir que ele altere algumas configurações de volta quando eu fizer a restauração do banco de dados? ![]()
Estes, por exemplo, seriam inestimáveis:
Existe alguma maneira de restaurar um backup do banco de dados e, em seguida, talvez aplicar manualmente algumas configurações antes de iniciar o Discourse? Alguma outra ideia, sugestão, armadilha? ![]()
Se você mantiver backups no S3 e configurá-los via variáveis de ambiente, poderá facilmente iniciar um novo site que possa restaurar esse backup. Basta iniciar uma nova VM, clonar o discourse, copiar o yml, reconstruir e restaurar. Você pode substituir as configurações no banco de dados com variáveis de ambiente, como na citação em sua postagem.
Você pode substituir configurações no banco de dados com variáveis de ambiente
Perfeito, parece quase fácil demais ![]()
Está faltando alguma etapa? Tenho quase certeza de que isso funcionou há cerca de um ano. Mas agora, embora ele preencha, ele não adiciona nenhum Tópico ou postagem além da seção Sobre a Categoria… algo mudou?
Se o que você quer é um servidor de teste para ver como é o Discourse, talvez você queira experimentar com alguns dados falsos, e se quiser, pode fazer isso:
./launcher enter app ALLOW_DEV_POPULATE=1 bundle install ALLOW_DEV_POPULATE=1 rake dev:populateIsso preencherá seu fórum com alguns dados falsos para que você possa ver como as coisas ficam com quaisquer temas e plugins que desejar. Se você ainda não iniciou seu fórum, isso lhe dará uma ideia de como as coisas provavelmente ficarão.
Mas agora, embora ele preencha, ele não adiciona nenhum Tópico ou postagem além de Sobre a Categoria… algo mudou?
Quando tentei agora, ele criou registros de grupo e usuário, mas ao criar categorias falhou com
ActiveRecord::RecordInvalid: Falha na validação: Nome da Categoria já está em uso (ActiveRecord::RecordInvalid)
Parece que ele deveria ser inteligente o suficiente para não tentar criar uma categoria com um nome existente.
No entanto, o meu não era um site vazio. Há também uma tarefa dev:repopulate, que primeiro limpa o banco de dados.
Obrigado, Jay! Aqui está uma tela mostrando o que tentei… Parece que preciso estar em "ambiente de desenvolvimento". Como entro nele?
Acabei restaurando um backup antigo de uma das minhas instâncias do Discourse onde eu tinha usado esse método para popular. Tive que fazer isto, mas funcionou.
Há uma coisa que você precisa fazer para poder descartar o banco de dados. Se você executar a tarefa rake db:drop, ela lhe dirá o que é. Então, eu acho que você precisaria parar o sv stop unicorn e, em seguida, descartar, criar e migrar o banco de dados antes de executar a tarefa. Ou essa seria a próxima coisa que eu tentaria, mas você tem outra solução…
14 posts foram divididos em um novo tópico: Mudar servidor para uma configuração de 2 contêineres
Estou tentando popular dados de teste no meu servidor de staging, mas recebo um erro:
rake aborted!
Database commands are only supported in development environment
Isso é em uma configuração multisite, então os comandos que estou executando são:
./launcher enter web_only
ALLOW_DEV_POPULATE=1 bundle install
RAILS_DB=instance-x ALLOW_DEV_POPULATE=1 rake dev:populate
Que eu tenho usado sem problemas até agora, mas agora recebo este erro. Posso definir uma variável de ambiente para permitir comandos de banco de dados em produção?

