Olá - como um plugin usado em nossa instância do Discourse não é mais atualizado (Multilingual), e alguns de seus recursos são suportados nas versões mais recentes do Discourse, gostaríamos de usar um script de migração para mover valores no banco de dados para novos locais.
No entanto, ao pesquisar os artigos da wiki deste site, ou o repositório git do Discourse, não encontrei nenhuma documentação para escrever um script de migração (de qual classe herdar, quais métodos usar…)
Existe alguma documentação que eu perdi? Além de olhar o código de migração, há alguma dica para me familiarizar com os scripts de migração?
Quando tive conteúdo para migrar de uma plataforma sem um script Discourse disponível, não tive sorte em encontrar documentação real sobre essas coisas. Os scripts existentes estavam além da minha capacidade de engenharia reversa. Acabei importando manualmente um tópico por vez através do console Rails – nada escalável.
Honeyxilia, pela forma como li sua pergunta, parece que você fez um monte de trabalho com o Plugin Multilíngue do Pavilion e gostaria de “migrar” esses dados para os recursos mais novos de Localização de Conteúdo do Discourse. Correto? (Também não tenho certeza por onde começaria com isso.)
O que quero dizer com script de migração são os scripts de migração do banco de dados (db/migrate) que herdam de ActiveRecord::Migration, os quais são usados para adaptar o banco de dados às alterações do Discourse.
Por exemplo, temos os comandos SQL para transferir um local do plugin Multilingual para um local nativo do Discourse.
Minha pergunta seria principalmente sobre os scripts de migração do banco de dados, a fim de automatizar os comandos SQL ao migrar o banco de dados para uma versão mais recente.