Tutti i post convertiti in post_type=3 durante la migrazione

Ciao,

come descritto qui Upgrade fails while migrating, stiamo attualmente eseguendo l’aggiornamento da una versione molto vecchia di Discourse alla versione attuale 2.3.2. Abbiamo notato che tutti i post sono stati modificati a post_type=3 durante il processo di migrazione.

Abbiamo scoperto che uno script di migrazione vecchio ma aggiornato causa questa “distruzione”.

Sembra che debba essere così per far funzionare l’aggiunta della stringa:

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

Il passaggio di migrazione attuale genera questa query/risultato:

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

Cordiali saluti,
Sascha

2 Mi Piace

@gerhard puoi sistemare quella migrazione e verificare che le nostre migrazioni siano compatibili con “frozen-strings”?

1 Mi Piace

Grazie per aver segnalato il problema. Risolto in FIX: Migrations tried to change frozen string · discourse/discourse@a8cdd68 · GitHub

4 Mi Piace