Привет! Поскольку плагин Multilingual, используемый в нашем экземпляре Discourse, больше не обновляется, а некоторые его функции поддерживаются в более новых версиях Discourse, мы хотим использовать скрипт миграции для переноса значений из базы данных в новые места.
Однако, изучая статьи вики на этом сайте или репозиторий Git проекта Discourse, я не нашёл документации по написанию скриптов миграции (какой класс наследовать, какие методы использовать и т.д.).
Не упустил ли я какую-то документацию? Помимо просмотра кода миграций, есть ли какие-либо советы по работе со скриптами миграции?
Когда мне нужно было перенести контент с платформы, для которой не было доступного скрипта Discourse, я не смог найти реальной документации по этим вопросам. Существующие скрипты были слишком сложны для меня, чтобы их реверс-инжинирить. В итоге я вручную импортировал каждую тему через консоль Rails — это не очень масштабируемый подход.
Хониксилия, насколько я понимаю ваш вопрос, вы проделали большую работу с плагином Pavilion Multilingual Plugin и хотели бы «перенести» эти данные в новые функции локализации контента Discourse Content Localization. Так ли это? (Я тоже не уверен, с чего бы начать.)
Под скриптом миграции я имею в виду скрипты миграции базы данных (db/migrate), наследующие ActiveRecord::Migration, которые используются для адаптации базы данных к изменениям в Discourse.
Например, у нас есть SQL-команды для переноса локали плагина Multilingual в нативную локаль Discourse.
Мой вопрос касается в основном скриптов миграции базы данных, чтобы автоматизировать выполнение SQL-команд при миграции базы данных на новую версию.