스키마 수정

schema.json 을 수정한 후 필요한 작업

 

schema.json 를 수정하는 것은 java 클래스에 포함되는 영역이 아니므로 서비스를 재시작 할 필요가 없다. 반대로 재시작을 해도 적용이 되지 않을 수 있다(설정에 따라 재시작시 전체 리로드를 할 수 있기도 하다).

따라서 서비스 무중단으로 필요한 스키마를 변경하고, 변경된 영역만 해당

 

LoadSchema

  1. initdata 를 수동으로 불러올 때

    1. POST {{protocol}}://{{hostname}}:{{port}}/helper/loadSchema?filePath=/{rootPath}

ReloadSchema

  1. schema 파일 생성/수정 후 다시 불러올 때

    1. POST {{protocol}}://{{hostname}}:{{port}}/helper/reloadSchema?filePath=/Users/I-ON/git/oct-api/src/main/resources/schema/zinoct/brandShop/brandMngSchema.json

 

ReloadSchema 를 해도 삭제한 노드/요소/api 가 계속 존재하는 경우

ReloadSchema 는 json에 작성된 내용을 읽어 생성 및 기존 정보 수정 역할을 한다. 따라서 스키마의 요소를 그냥 제거해서 없애거나 해도 cache에는 그대로 남아있기 때문에 기존 내용과 충돌이 발생할 수 있다. 이 경우엔 아래 두 방법 중 하나를 시도한다.

  1. 앞에 "_event": "delete", 를 붙인 후 ReloadSchema 를 실행 - node, propertyTypes, event

    1. { "_event": "delete", "typeId": "foComponent", "componentId": "board",
  2. POST {{protocol}}://{{hostname}}:{{port}}/node/{typeId}/delete.json - node