Naming Standards
Naming conventions usually live in a wiki nobody reads. Sqemo turns them into rules that run on every column: you model in business terms, and the physical names are generated from a glossary your team controls.
The glossary
The glossary maps each logical word to its standard physical word — for
example “Customer” → cust, “Number” → no. Type the logical name
“Customer Number” and the physical column comes out cust_no, the same
way every time, for everyone. The glossary can be imported and exported,
and Sqemo prevents duplicate words from slipping in.
Naming rules
Naming rules control how generated words are assembled — case style and
separators — and what happens when a logical name uses a word that is not
in the glossary yet (unknown word mode):
- warn — flag unregistered words so they get added to the glossary,
- keep — use the word as-is,
- romanize — transliterate it.
Overrides are explicit
Sometimes a physical name has to differ from the generated one. You can
override it — the override is marked (manual override) and excluded from
automatic regeneration, so a glossary change never silently rewrites it.
Overrides are visible, which matters: an invisible override is how naming
standards die.
Checking compliance
- In the app — validation flags logical names with unregistered words and physical names that drifted from the standard.
- In CI — the MCP/CLI package lints a project file and fails the build on violations:
npx sqemo-mcp lint schema.erd.json # exit code 1 on violations
One standard for the whole team
With a workspace, the glossary and naming rules become a team standard that every connected ERD generates names from. Members propose new words; the standard owner approves; approved words propagate to connected projects. See Team collaboration.