om-data-model-design

Design tenant-scoped data models with standard audit columns and migration paths.

6|2|Updated Mar 27, 2026
One-click install
npx skills add https://github.com/SHGrowth/om-superpowers --skill om-data-model-design
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: om-data-model-design
Source: https://github.com/SHGrowth/om-superpowers/tree/main/skills/om-data-model-design
Command: npx skills add https://github.com/SHGrowth/om-superpowers --skill om-data-model-design

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Defining tenant-scoped data models with consistent entities, relationships, and migration plans is complex; this skill provides a structured approach to model design and lifecycle management for Open Mercato apps.

Core Features & Use Cases

  • Entity Design templates that enforce standard columns and audit fields (id, organization_id, tenant_id, is_active, created_at, updated_at, deleted_at).
  • Relationship patterns guidance and cross-module considerations to preserve module boundaries.
  • Migration lifecycle guidance, including generation, review, and safe application of changes.

Quick Start

Define your data model by identifying entities, their relationships, and migration paths, then generate and review migrations using the standard Open Mercato patterns.

Frequently Asked Questions about om-data-model-design

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I design a scalable data model for multi-tenant applications?

Design scalable multi-tenant data models by enforcing standard audit columns like organization_id, tenant_id, is_active, created_at, updated_at, and deleted_at on all entities. This ensures consistent tenant isolation and lifecycle tracking across application modules.

What are the best practices for managing database migrations in a modular architecture?

Manage database migrations by defining clear module boundaries without cross-module ORM relations. Generate, review, and apply migration paths safely to preserve tenant-scoped data integrity across isolated application components.

Why should data models use UUID primary keys instead of sequential integers?

Data models use UUID primary keys to guarantee globally unique identifiers across distributed systems and tenant boundaries. This prevents primary key collisions during data aggregation or synchronization across independent modules.

Can I define cross-module ORM relationships for tenant-scoped entities?

No, you should not define cross-module ORM relationships for tenant-scoped entities. Preserving strict module boundaries prevents tight coupling and ensures that data model modifications remain isolated and safe during migrations.

What standard columns do I need to include when creating new entities in Open Mercato?

Creating new entities requires standard columns including id, organization_id, tenant_id, is_active, created_at, updated_at, and deleted_at. These fields enforce tenant isolation and provide consistent soft-deletion and audit tracking.