Я пытаюсь перейти с greg 5.1.0 на 5.2.0 и замечаю проблемы с базой данных.
Следуя задокументированным процедурам, я связал новую версию продукта с базой данных предыдущей версии, скачал org.wso2.carbon.greg.migrate.client-5.2.0.jar и поместил его в папку dropins. Из домашнего каталога greg я перешел в /bin и запустил wso2server.bat -Dmigrate=5.2.0. После этого я выполнил обязательную миграцию данных (wso2server.bat -Dmigrate=5.2.0 -DmigrateProvider=true). Затем я переиндексировал все и проверил в рекомендованной контрольной точке, что таблицы IDP_METADATA и SP_METADATA действительно существуют. Затем я вхожу в Магазин и Издатель и не вижу своего контента. Я проверил журналы и вижу ошибки, сообщающие о том, что столбец OPERATION не существует, и несколько других странных ошибок. Я начинаю исследовать ошибку базы данных ниже, так как это первая ошибка, с которой я столкнулся.
ОШИБКА {org.wso2.carbon.identity.application.authentication.framework.store.SessionDataStore} — ошибка при сохранении данных сеанса {org.wso2.carbon.identity.application.authentication.framework.store.SessionDataStore} com.microsoft.sqlserver .jdbc.SQLServerException: недопустимое имя столбца «ОПЕРАЦИЯ».
Глядя на java-файл, я вижу, где он выполняет команды с IDN_AUTH_SESSION_STORE, а OPERATION является одним из полей, на которые он ссылается. Я смотрю эту таблицу в базе данных, и этого поля не существует. Это заставило меня задуматься, были ли какие-либо другие изменения, поэтому я провел сравнение сценария создания 5.1.0 и сценария создания 5.2.0. Основываясь на этом сравнении, я вижу, что в 5.1.0 этого поля нет, но в 5.2.0 оно есть. В дополнение к новым таблицам, упомянутым в процедурах, и несоответствию с этой ошибкой, есть еще несколько различий между двумя сценариями.
В этот момент я начал исследовать, что было частью org.wso2.carbon.greg.migrate.client-5.2.0.jar. Я нахожу клиент миграции реестра на github, и у меня нет проблем с поиском источника. Я вижу сценарии миграции, которые добавляют новые таблицы, указанные в процедурах обновления, но я не вижу никаких других изменений в базе данных, которые привели бы базу данных 5.1.0 в соответствие с тем, что создано из коробки с 5.2.0.
Я знаю, что 5.2.0 основан на углероде 4.4.5, а 5.1.0 основан на 4.4.1, поэтому я проверяю документацию по углероду, задаваясь вопросом, возможно, это технически изменение углерода, а не изменение Грега, но согласно документации по углероду базы данных не было. изменения при обновлении любой из инкрементных версий с 4.4.1 по 4.4.5. Я бы ожидал, что это изменение станет частью обновления Грега, если бы оно было необходимо, но я просто пытался быть тщательным и охватить все возможности, которые я мог придумать.
Я не могу найти сценарий обновления базы данных или шаг, который я пропустил/не понял. Я что-то упускаю или чего-то не понимаю в процедурах обновления?
Джо