En theme.rb, hay
ChildTheme.where(parent_theme_id: theme_id).distinct.pluck(:child_theme_id), donde el distinct puede eliminarse debido al índice único agregado en discourse/db/migrate/20170313192741_add_themes.rb: add_index :child_themes, [:parent_theme_id, :child_theme_id], unique: true.
Esto indica que, para dos temas hijos: ChildTheme1(id1, child_theme_id1, parent_theme_id) y ChildTheme2(id2, child_theme_id2, parent_theme_id), si child_theme_id1 == child_theme_id2, entonces id1 = id2; de lo contrario, [:parent_theme_id, :child_theme_id] no sería único. En consecuencia, ChildTheme.where(parent_theme_id: theme_id).pluck(:child_theme_id) devolverá child_theme_id únicos, por lo que no es necesario incluir la llamada a la función distinct. Podemos eliminarla para mejorar el rendimiento.