обновлен до wso2 greg 5.2.0 с 5.1.0 и получаю ошибки базы данных

Я пытаюсь перейти с 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. Я бы ожидал, что это изменение станет частью обновления Грега, если бы оно было необходимо, но я просто пытался быть тщательным и охватить все возможности, которые я мог придумать.

Я не могу найти сценарий обновления базы данных или шаг, который я пропустил/не понял. Я что-то упускаю или чего-то не понимаю в процедурах обновления?

Джо


person jchaplin    schedule 27.04.2016    source источник
comment
Вы можете запустить указанный набор запросов в базе данных identitty (github.com/wso2/product-is/blob/master/modules/migration/), чтобы решить указанную выше проблему. Мы еще не завершили процесс миграции. Документация будет обновлена ​​с учетом полной миграции удостоверений в ближайшее время.   -  person Denuwanthi    schedule 28.04.2016
comment
(docs.wso2.com/display/Governance520/) Документация по миграции   -  person Denuwanthi    schedule 23.06.2016
comment
Спасибо Денувати. В исходном вопросе я не понял, что процедуры миграции не были завершены. Как только части, которые вы упомянули, были добавлены, я смог успешно выполнить установку. Спасибо за помощь.   -  person jchaplin    schedule 23.06.2016


Ответы (1)


Вам необходимо отдельно перенести компонент идентификации и компонент, связанный с пользовательскими данными, перед запуском

wso2server.bat -Dmigrate=5.2.0

команда.

  1. Загрузите клиент миграции с этого URL-адреса.
  2. Затем скопируйте файл MIGRATION_CLIENT_HOME/org.wso2.carbon.is.migrate.client-5.1.0.jar в каталог G-REG_HOME/repository/components/dropins/. .
  3. Затем скопируйте MIGRATION_CLIENT_HOME/migration-identity-4.5.6_to_5.0.8/ в G-REG_HOME/dbscripts/identity/migration-identity-4.5.6_to_5.0.8/ и < strong>MIGRATION_CLIENT_HOME/migration-um-4.5.6_to_5.0.8/ в G-REG_HOME/dbscripts/migration-um-4.5.6_to_5.0.8/
  4. Затем перейдите в каталог G-REG_HOME/bin/ и выполните приведенные ниже команды, чтобы отдельно перенести идентификационные и пользовательские данные.

    wso2server.bat -Dmigrate -DmigrateIdentity=true -Dcomponent=identity

    wso2server.bat -Dmigrate -DmigrateUMDB=true -Dcomponent=identity

  5. Выполните оставшиеся шаги миграции, как указано в официальной документации WSO2 здесь.

Если вы откроете сценарий MIGRATION_CLIENT_HOME/migration-identity-4.5.6_to_5.0.8/mysql.sql, вы увидите, что есть сценарий aulter для добавления нового столбца с именем OPERATION в таблицу IDN_AUTH_SESSION_STORE.

ALTER TABLE IDN_AUTH_SESSION_STORE ADD OPERATION VARCHAR(10) NOT NULL;

person Sajith Abeywardhana    schedule 16.05.2016