Автоматическая передача тем

Привет,

Существует ли какой-либо механизм (или запрос), который мог бы легко переключить всех пользователей, у которых в данный момент включена тема ID X, на тему ID Y?

У меня сейчас есть тема X, которая состоит из множества неаккуратных компонентов, и я хочу заменить её на идентичную тему Y, которая будет связана с GitHub. Но я не хочу, чтобы пользователи, выбравшие тему X, заметили какие-либо изменения (то есть я не могу просто удалить её и попросить всех выбрать Y).

Любая помощь будет очень кстати :grin:

Думаю, я мог бы импортировать тему GitHub как новый компонент и сделать его единственным компонентом Theme X. (По крайней мере, я думаю, что это сработает?) Но это не кажется самым элегантным решением.

Это должно сработать, но сначала сделайте резервную копию.

Войти в Rails

cd /var/discourse
./launcher enter app

Выполните эти команды

old_id=2
new_id=21
UserOption.where(theme_ids: [old_id]).update_all(theme_ids: [new_id])

Отлично, спасибо!