Schema Management Commands
Thepaw schemas commands allow you to create, update, and manage schemas with full versioning support.
Commands
schemas list
List all schemas in a project.Options
--project-id(required): The ID of the project
Examples
schemas new
Create a new schema.Options
--project-id(required): The ID of the project--name(required): Name of the schema--type(required): Type of the schema (e.g.,jsonschema)--schema-file(required): Path to the schema definition file--description: Description of the schema
Examples
schemas update
Update an existing schema (creates a new version).Options
--schema-id(required): The ID of the schema to update--schema-file(required): Path to the updated schema definition
Examples
schemas versions
List all versions of a schema.Options
--schema-id(required): The ID of the schema
Examples
schemas get-version
Get a specific version of a schema.Options
--schema-id(required): The ID of the schema--version-id(required): The version ID of the schema
Examples
Schema Types
JSON Schema
The most common schema type. Define your data structures using JSON Schema specification. Exampleuser.json:
Schema Versioning
How Versioning Works
- Immutable Versions: Each schema version is immutable once created
- Automatic Versioning: Updates create new versions automatically
- Version History: Full history is maintained for auditing
- App Independence: Different apps can use different versions
Version Management
Best Practices
Schema Design
- Start Simple: Begin with core fields, add complexity gradually
- Use Standard Formats: Leverage format validators (email, uuid, date-time)
- Document Fields: Use descriptions in your schemas
- Required Fields: Only mark truly required fields as required
Versioning Strategy
- Backward Compatibility: Try to maintain compatibility when possible
- Semantic Versioning: Use clear version numbering
- Migration Path: Document changes between versions
- Deprecation: Mark old fields as deprecated before removal
Schema Organization
Examples
Evolution of a Schema
Complex Schema Example
Related Commands
- Messages - Create messages based on schemas
- Code Generation - Generate code from schemas
- Projects - Manage projects containing schemas