ObjectStackObjectStack

Seed

Seed protocol schemas

Seed Import Strategy Defines how the engine handles existing records when a seed is applied.

Source: packages/spec/src/data/seed.zod.ts

TypeScript Usage

import { SeedSchema, SeedMode } from '@objectstack/spec/data';
import type { Seed } from '@objectstack/spec/data';

// Validate data
const result = SeedSchema.parse(data);

Seed

Properties

PropertyTypeRequiredDescription
objectstringTarget Object Name
externalIdstring | string[]Field (or composite list of fields) matched for the uniqueness check
modeEnum<'insert' | 'update' | 'upsert' | 'replace' | 'ignore'>Conflict resolution strategy
envEnum<'prod' | 'dev' | 'test'>[]Applicable environments
recordsRecord<string, any>[]Data records
_lockEnum<'none' | 'no-overlay' | 'no-delete' | 'full'>optionalItem-level lock — controls overlay & delete (ADR-0010).
_lockReasonstringoptionalHuman-readable reason shown when a write is refused by _lock.
_lockSourceEnum<'artifact' | 'package' | 'env-forced'>optionalLayer that set _lock (artifact | package | env-forced).
_provenanceEnum<'package' | 'org' | 'env-forced'>optionalOrigin of the item (package | org | env-forced).
_packageIdstringoptionalOwning package machine id.
_packageVersionstringoptionalOwning package version.
_lockDocsUrlstringoptionalOptional documentation link surfaced next to _lockReason.

SeedMode

Allowed Values

  • insert
  • update
  • upsert
  • replace
  • ignore

On this page