Instantané d’une Base

IBaseSnapshot

IBaseSnapshot est le format de persistance utilisé par Univer Bases. Il décrit une unité Base, notamment ses tables, l’ordre de celles-ci, la version du schéma, les horodatages et les métadonnées de révision facultatives.

Propriétés

PropriétéTypeDescription
idstringIdentifiant unique de l’unité Base.
namestringNom de la Base.
schemaVersionnumberVersion du schéma de l’instantané.
tablesRecord\<string, ITableSnapshot\>Tables indexées par identifiant de table.
tableOrderstring[]Liste ordonnée des identifiants de tables.
createdAtnumberHorodatage de création.
updatedAtnumberHorodatage de mise à jour.
createdBy?stringIdentifiant de l’auteur.
rev?numberValeur de révision facultative utilisée par les couches de persistance ou de collaboration.

Instantané minimal

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(),}

Utilisation

IBaseSnapshot sert principalement à :

  1. Créer une unité UniverInstanceType.UNIVER_BASE.
  2. Conserver et restaurer des données structurées.
  3. Préparer des données pour leur traitement côté serveur.
  4. Transférer des données entre les services de collaboration et les services d’importation et d’exportation.

Les objets d’instantané sont des données de persistance. Une fois la Base en cours d’exécution, utilisez de préférence les API Facade au lieu de modifier directement l’objet d’instantané.

Enregistrer et restaurer

Facade save() inclut les ressources des plugins enregistrés, comme les tableaux de bord et les commentaires locaux. saveToBackend est la fonction de persistance de votre application.

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

Dans une nouvelle instance, enregistrez les mêmes plugins avant univerAPI.createBase(savedSnapshot). Ne sauvegardez pas seulement tables et ne modifiez pas directement l’instantané du modèle actif.

Que pensez-vous de ce guide ?

© 2026 DreamNum Co., Ltd.