2016-12-11 2 views
0

Я работаю с WSO2 IS 5.2.0WSO2 это изменить встроенную схему базы данных

по некоторым причинам, я хотел бы изменить схему данных базы данных H2 по умолчанию встроен.

например, максимальная длина тома «ACCESS_TOKEN» в таблице «IDN_OAUTH2_ACCESS_TOKEN» составляет 255 символов. Я хотел бы изменить его на 8194.

Я сделал следующее изменение файла конфигурации «/dbscripts/identity/h2.sql» (см значение «8194»)

CREATE TABLE IF NOT EXISTS IDN_OAUTH2_ACCESS_TOKEN (
      TOKEN_ID VARCHAR (255), 
      ACCESS_TOKEN VARCHAR (8194), 
      REFRESH_TOKEN VARCHAR (255), 
      CONSUMER_KEY_ID INTEGER, 
      AUTHZ_USER VARCHAR (100), 
      TENANT_ID INTEGER, 
      USER_DOMAIN VARCHAR(50), 
      USER_TYPE VARCHAR (25), 
      GRANT_TYPE VARCHAR (50), 
      TIME_CREATED TIMESTAMP DEFAULT 0, 
      REFRESH_TOKEN_TIME_CREATED TIMESTAMP DEFAULT 0, 
      VALIDITY_PERIOD BIGINT, 
      REFRESH_TOKEN_VALIDITY_PERIOD BIGINT, 
      TOKEN_SCOPE_HASH VARCHAR (32), 
      TOKEN_STATE VARCHAR (25) DEFAULT 'ACTIVE', 
      TOKEN_STATE_ID VARCHAR (128) DEFAULT 'NONE', 
      SUBJECT_IDENTIFIER VARCHAR(255), 
      PRIMARY KEY (TOKEN_ID), 
      FOREIGN KEY (CONSUMER_KEY_ID) REFERENCES IDN_OAUTH_CONSUMER_APPS(ID) ON DELETE CASCADE, 
      CONSTRAINT CON_APP_KEY UNIQUE (CONSUMER_KEY_ID,AUTHZ_USER,TENANT_ID,USER_DOMAIN,USER_TYPE,TOKEN_SCOPE_HASH, 
              TOKEN_STATE,TOKEN_STATE_ID) 

проблемы является то, что Я просто не могу вставить это изменение в силу. Я сделал все (перезагрузка, переустановка), исходные настройки («256») сохраняются ...

Кажется, что схема базы данных была сгенерирована на изображении IS-сервера. и файл сценария генерации говорит «GENERATE IF NOT EXISTS ...»

У кого-нибудь есть идеи?

благодаря

ответ

1

Удалить <IS_HOME>/repository/database/*. Затем запустите сервер с -Dsetup.

./wso2server.sh -Dsetup 
+0

спасибо. он работает –

1

Да, он генерируется с распределением сервера. Вы можете сделать (резервное копирование и удаление) содержимого repository/database, обновить сценарии db и запустить сервер с bin/wso2server.sh -Dsetup. Это нужно сделать только один раз, со следующего раза вы можете запустить сервер, как обычно.

Еще одна возможность - использовать H2 console. Если у вас уже есть данные, это будет лучший вариант.

+0

спасибо, что работает –

Смежные вопросы