Git-Aware Schemas
msh automatically creates isolated schemas for each git branch, preventing developers from overwriting each other's data.
How It Works
When you run msh run in dev environment, msh:
- Detects your current git branch
- Sanitizes the branch name (replaces
/,-,.with_) - Appends it to your schemas
Examples
| Branch Name | Schema Suffix | Full Schema Name |
|---|---|---|
main | main | main_main |
feature/new-api | feature_new_api | main_feature_new_api |
bugfix/issue-123 | bugfix_issue_123 | main_bugfix_issue_123 |
Production Behavior
Production deployments (--env prod) always use standard schemas without suffixes:
main(notmain_main)msh_raw(notmsh_raw_feature_new_api)
Fallback Behavior
If git is unavailable (not a git repo, git command fails), msh defaults to local suffix:
main_localmsh_raw_local