Hyperledger композитор обновить бизнес-сеть - PullRequest
0 голосов
/ 04 октября 2018

Допустим, у меня есть бизнес-сеть v1.0.0, в которой есть участник со следующей моделью:

participant Member identified by memberId {
   o String memberId
   o String firstName
}

После развертывания сети я создаю участника.

Позже я хочудобавить поле в модель Member.Например,

participant Member identified by memberId {
   o String memberId
   o String firstName
   o String lastName
}

Итак, я создаю новую сеть и обновляю предыдущую:

composer network upgrade -c peeradmin@hlfv1 -n example-netowrk -V 2.0.0

Что происходит с участником, которого я создал ранее?Это удалено?Как я могу сохранить это в системе и продолжать использовать и обновлять информацию, добавляя только lastName ?

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

когда вы меняете модель, ваш API также будет меняться, чтобы отразить изменения.Ваши данные не исчезнут, они не могут, поскольку они находятся в бухгалтерской книге, но у них не будет новых полей, которые вы добавили.

Как только ваша новая модель развернута, вы можете отправить GET-запрос к этому активу, это даст вам все существующие данные, вы заполните новое поле всем, что вам нужно, и выполните запрос PUT для этого ресурса.Теперь это даст вам старый актив с новыми данными.

Конечно, я предлагаю вам тщательно подумать, как вы меняете существующие активы.Я имею в виду политику, которая гласит, что вы не должны ничего переименовывать, вы не должны ничего удалять.все, что вам нужно сделать, это добавить новые свойства.Если вы начнете возиться с переименованием и удалением, это может вызвать проблемы, особенно в производственной среде.

0 голосов
/ 04 октября 2018

Эволюция определений моделей описана в документации здесь https://hyperledger.github.io/composer/latest/reference/model-compatibility и должна ответить на ваш вопрос.

...