Tous les articles passés à post_type=3 pendant la migration

Bonjour,

comme décrit ici Upgrade fails while migrating, nous sommes en train de mettre à niveau une très ancienne installation de Discourse vers la version actuelle 2.3.2. Nous avons constaté que tous les messages ont été modifiés pour avoir post_type=3 pendant le processus de migration.

Nous avons remarqué qu’un ancien script de migration, mais mis à jour, est à l’origine de cette « destruction ».

Il semble que cela doive être ainsi pour que l’ajout de chaînes fonctionne :

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

L’étape de migration actuelle produit cette requête/résultat :

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

Cordialement,
Sascha

2 « J'aime »

@gerhard peux-tu corriger cette migration et valider que nos migrations sont compatibles avec “frozen-strings” ?

1 « J'aime »

Merci d’avoir signalé ce problème. Corrigé dans FIX: Migrations tried to change frozen string · discourse/discourse@a8cdd68 · GitHub

4 « J'aime »