Columns describe the shape of each event payload. EventDBX treats them as contracts: once defined, they guide validation, documentation, and downstream tooling.
dbx schema create person --events person_registered,person_updated --snapshot-threshold 50dbx schema field person first_name --type text --requireddbx schema field person age --type integer --range-min 0dbx schema field person status --type text --format snake_case
Columns apply to future events only. Historical payloads remain untouched but will fail validation if replayed without the required fields.
When a column is no longer needed, clear its type/rules and stop allowing it for events:
Copy
dbx schema field person legacy_id --clear-type --clear-rulesdbx schema alter person person_updated --remove legacy_id
Deprecation warns producers while keeping historical events valid. Downstream systems should stop sending or expecting the field once removed from the allow-list.