Skip to content
This repository was archived by the owner on Aug 12, 2026. It is now read-only.

v0.1.0

Choose a tag to compare

@RepoRover RepoRover released this 05 Oct 23:17
· 9 commits to main since this release
v0.1.0
9bd1124

v0.1.0 (2.9.2025)

Initial version of the Database Schema Specifications that are supported by Bfloo Application.

Schema Structure

  • Schema metadata: UUID identifier, name (max 64 chars), description
  • Snapshot tracking: UUID-based snapshots with labels (max 64 chars), parent relationships, timestamps
  • Tables: Array of table definitions

PostgreSQL 15.0 Support

Tables

  • Numeric identifiers
  • Names: lowercase, snake_case, max 63 chars
  • Descriptions
  • Columns and constraints arrays

Columns

  • Numeric identifiers
  • Names: lowercase, snake_case, max 63 chars
  • Data types: text, integer, serial, boolean, date, timestamp
  • Optional descriptions and default values
  • Inline constraints: nullable, unique, primary_key

Text Columns

  • min_length constraint (named constraint + value)
  • max_length constraint (named constraint + value)

Integer Columns

  • min_value constraint (named constraint + value)
  • max_value constraint (named constraint + value)

Table Constraints

  • Foreign keys: reference table/column, on_delete actions (cascade, set_null, set_default, restrict, no_action), on_update actions
  • Unique constraints: multi-column unique indexes
  • Numeric identifiers, names (lowercase, snake_case, max 63 chars), descriptions, column arrays

Validation Rules

  • Default value type matching (text→string, integer/serial→number, boolean→boolean, date/timestamp→current_date/current_timestamp)
  • serial columns cannot have defaults, cannot be nullable, cannot be unique
  • primary_key=true forces nullable=false, prevents unique=true
  • nullable=false prevents default=null
  • default=null forces nullable=true
  • Naming patterns enforced on all identifiers

Supported: PostgreSQL 15.0
Format: JSON Schema Draft-07