Golang GAE — изменить имя переменной в структуре в хранилище данных

Я программирую приложение Google Apps Engine Go и хочу изменить имя переменной внутри структуры, хранящейся в хранилище данных.

Скажем, у меня есть структура:

type AA struct{
    A string
    BB string
}

И хотел бы изменить BB на B. Если я попытаюсь просто изменить BB на B, хранилище данных начнет выдавать мне ошибки, когда попытается присвоить сохраненные значения BB новой структуре AA, в которой нет этой переменной. Я могу добавить B и оставить BB, но тогда структура начнет запутываться.

Как аккуратно изменить структуру переменных в хранилище данных GAE Go, не прибегая к временному копированию всей базы данных и удалению большого количества данных?


person ThePiachu    schedule 20.10.2012    source источник


Ответы (2)


Вы можете реализовать AA PropertyLoadSaver, как описано в документации хранилища данных. , а затем

  1. в методе Load скопируйте BB в B
  2. в методе Save просто сохраните A и B
person Peter Knego    schedule 21.10.2012

Ознакомьтесь с документацией App Engine об обновлении схемы вашей модели, в которой описан необходимый вам процесс. следовать, чтобы обновить схему, а затем удалить устаревшие свойства.

Надеюсь это поможет.

person Thanos Makris    schedule 21.10.2012