Base 스냅샷

IBaseSnapshot

IBaseSnapshot은 Univer Bases에서 사용하는 영속화 형식입니다. 테이블, 테이블 순서, 스키마 버전, 타임스탬프, 선택적 리비전 메타데이터를 포함한 하나의 Base 단위를 설명합니다.

속성

속성유형설명
idstringBase 단위의 고유 ID입니다.
namestringBase 이름입니다.
schemaVersionnumber스냅샷 스키마 버전입니다.
tablesRecord\<string, ITableSnapshot\>테이블 ID를 키로 사용하는 테이블입니다.
tableOrderstring[]정렬된 테이블 ID 목록입니다.
createdAtnumber생성 타임스탬프입니다.
updatedAtnumber업데이트 타임스탬프입니다.
createdBy?string생성자 ID입니다.
rev?number영속화 또는 협업 계층에서 사용하는 선택적 리비전 값입니다.

최소 스냅샷

TypeScript
const baseSnapshot = {  id: 'base-1',  name: 'Product tracker',  schemaVersion: 1,  tableOrder: ['tasks'],  tables: {    tasks: {      id: 'tasks',      name: 'Tasks',      primaryFieldId: 'title',      fieldOrder: ['title', 'status'],      fields: {        title: { id: 'title', name: 'Title', type: 'text', config: {} },        status: { id: 'status', name: 'Status', type: 'singleSelect', config: {} },      },      recordOrder: ['rec-1'],      records: {        'rec-1': {          id: 'rec-1',          values: { title: 'Write docs', status: 'In progress' },          orderKey: 'a0',          createdAt: Date.now(),          updatedAt: Date.now(),        },      },      views: {},      viewOrder: [],    },  },  createdAt: Date.now(),  updatedAt: Date.now(),}

사용법

IBaseSnapshot은 주로 다음 용도로 사용됩니다.

  1. UniverInstanceType.UNIVER_BASE 단위를 생성합니다.
  2. 구조화된 데이터를 영속화하고 복원합니다.
  3. 서버 측 처리를 위한 데이터를 준비합니다.
  4. 협업 서비스와 가져오기/내보내기 서비스 간에 데이터를 전송합니다.

스냅샷 객체는 영속화 데이터입니다. Base가 실행된 후에는 스냅샷 객체를 직접 변경하지 말고 Facade API를 사용하세요.

저장 및 복원

Facade save()는 대시보드와 로컬 댓글 등 등록된 플러그인 리소스를 포함합니다. saveToBackend는 애플리케이션의 저장 함수입니다.

TypeScript
const base = univerAPI.getActiveBase()if (!base) throw new Error('Open a Base first')await saveToBackend(base.save())

새 편집기에 같은 플러그인을 등록한 뒤 univerAPI.createBase(savedSnapshot)을 호출하세요. tables만 저장하거나 실행 중인 모델 스냅샷을 직접 수정하지 마세요.

이 가이드는 어떠셨나요?

© 2026 DreamNum Co., Ltd.