기본 저장소 마이그레이션
특정 팔레트의 저장소를 수정하고 새로운 저장소 레이아웃으로 마이그레이션하기 위한 준비 방법을 설명합니다.
Nicks 팔레트를 로컬에 추가하기
저장소 구조체 생성 및 저장소 항목 업데이트
/// 이름을 위한 조회 테이블.
#[pallet::storage]
pub(super) type NameOf<T: Config> =
StorageMap<_, Twox64Concat, T::AccountId, (BoundedVec<u8, T::MaxLength>, BalanceOf<T>)>; #[derive(Encode, Decode, Default, TypeInfo, MaxEncodedLen, PartialEqNoBound, RuntimeDebug)]
#[scale_info(skip_type_params(T))]
#[codec(mel_bound())]
pub struct Nickname<T: Config> {
pub first: BoundedVec<u8, T::MaxLength>,
pub last: Option<BoundedVec<u8, T::MaxLength>>,
}함수 업데이트
저장소 버전 추가
마이그레이션 모듈 선언
migrate_to_v2 작성
migrate_to_v2 작성저장소 버전 확인
저장소 값을 변환
저장소 버전 업데이트
소비된 가중치 반환
7. on_runtime_upgrade에서 migrate_to_v2 사용
on_runtime_upgrade에서 migrate_to_v2 사용단위 테스트 업데이트
예제
자료
Last updated