Todos os posts alterados para post_type=3 durante a migração

Olá,

conforme descrito aqui Upgrade fails while migrating, estamos atualmente atualizando de uma instalação muito antiga do Discourse para a versão atual 2.3.2. Percebemos que todas as publicações foram alteradas para post_type=3 durante o processo de migração.

Notamos que um script de migração antigo, mas atualizado, causa essa “destruição”.

Parece que é necessário que seja assim para que a concatenação de strings funcione:

sql = "UPDATE posts SET action_code = 'autoclosed.enabled', post_type = 3 "
sql += "WHERE post_type = 2 AND ("
sql += strings.map { |s| "raw ~* #{ActiveRecord::Base.connection.quote(s)}" }.join(' OR ')
sql += ")"

A etapa de migração atual produz esta consulta/saída:

== 20150729150523 MigrateAutoClosePosts: migrating ============================
-- execute("UPDATE posts SET action_code = 'autoclosed.enabled', post_type = 3 ")

Atenciosamente,
Sascha

2 curtidas

@gerhard, você pode corrigir essa migração e validar se nossas migrações são compatíveis com “frozen-strings”?

1 curtida

Obrigado por relatar esse problema. Corrigido em FIX: Migrations tried to change frozen string · discourse/discourse@a8cdd68 · GitHub

4 curtidas