This repository was archived by the owner on Aug 12, 2026. It is now read-only.
Repository navigation
v0.1.0
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_lengthconstraint (named constraint + value)max_lengthconstraint (named constraint + value)
Integer Columns
min_valueconstraint (named constraint + value)max_valueconstraint (named constraint + value)
Table Constraints
- Foreign keys: reference table/column,
on_deleteactions (cascade, set_null, set_default, restrict, no_action),on_updateactions - 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)
serialcolumns cannot have defaults, cannot be nullable, cannot be uniqueprimary_key=trueforcesnullable=false, preventsunique=truenullable=falsepreventsdefault=nulldefault=nullforcesnullable=true- Naming patterns enforced on all identifiers
Supported: PostgreSQL 15.0
Format: JSON Schema Draft-07