v0.3.0

Schemas

Define, version, and enforce data schemas across your pipelines.

Overview

Schemas define the structure of data flowing through FacilFlow. Each schema is versioned with checksums and supports compatibility checking to prevent breaking changes.

Schema List

Navigate to Build > Schemas to see all schemas:

Column Description
Name Schema identifier
Version Current version number
Compatibility Compatibility mode
Fields Number of fields
Last Updated Most recent change

Creating a Schema

  1. Click Create Schema
  2. Define fields with name, type, and constraints
  3. Set the compatibility mode
  4. Save

Field Types

Type Description
string Text values
integer Whole numbers
float Decimal numbers
boolean True/false
timestamp Date and time
json Nested JSON object

Versioning

Every schema change creates a new version. Each version stores:

  • Field definitions
  • SHA-256 checksum of the schema content
  • Timestamp
  • Author

Version History

Open a schema and click History to see all versions with diffs between consecutive versions.

Rollback

To revert to a previous version:

  1. Open the version history
  2. Select the target version
  3. Click Rollback
  4. Confirm — a new version is created matching the old version’s fields

Compatibility Modes

Mode Rules
None No compatibility checking — any change allowed
Backward New schema can read data written by the old schema. Adding optional fields and removing fields is allowed.
Forward Old schema can read data written by the new schema. Adding fields and removing optional fields is allowed.
Full Both backward and forward compatible. Only adding optional fields is allowed.

Set the compatibility mode when creating a schema. FacilFlow rejects changes that violate the mode.

Version Comparison

Compare any two versions side-by-side:

  1. Open version history
  2. Select two versions
  3. Click Compare
  4. View added, removed, and modified fields highlighted in the diff

Usage Tracking

Each schema shows which pipelines and data sources reference it. This helps assess impact before making changes.

esc