Todos los posts cambiados a post_type=3 durante la migración

Hola,

como se describe aquí Upgrade fails while migrating, actualmente estamos actualizando desde una instalación muy antigua de Discourse a la versión actual v2.3.2. Hemos notado que todos los mensajes se han cambiado a post_type=3 durante el proceso de migración.

Hemos visto que un script de migración antiguo pero actualizado es la causa de esta “destrucción”.

Parece que tiene que ser así para que funcione la concatenación de cadenas:

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 += ")"

El paso de migración actual genera esta consulta/salida:

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

Saludos cordiales,
Sascha

2 Me gusta

@gerhard ¿puedes arreglar esa migración y validar que nuestras migraciones son compatibles con “frozen-strings”?

1 me gusta

Gracias por informar sobre ese problema. Corregido en FIX: Migrations tried to change frozen string · discourse/discourse@a8cdd68 · GitHub

4 Me gusta