Platform Structure
Qubase organizes your work into a clear hierarchy that makes it easy to manage database projects, collaborate with team members, and maintain multiple database schemas.
Understanding this structure will help you organize your work more efficiently.
Platform hierarchy
Every resource in Qubase belongs to a parent resource.
User
└── Workspace
└── Project
└── Database SchemaEach level has a specific responsibility.
| Level | Description |
|---|---|
| User | Your personal Qubase account. |
| Workspace | A shared space where teams collaborate on projects. |
| Project | A container that groups related database work. |
| Database Schema | The actual database model, including tables, relationships, constraints, and code. |
User
A User represents your Qubase account.
Your account allows you to:
- Create Workspaces
- Join existing Workspaces
- Collaborate with team members
- Manage your profile and account settings
A single user can belong to multiple Workspaces.
Workspace
A Workspace is the highest level of collaboration.
It contains everything related to a team or organization.
Inside a Workspace you can:
- Create multiple Projects
- Invite members
- Assign roles and permissions
- Manage Workspace settings
Example:
Workspace
├── E-Commerce Team
├── HR System
└── Inventory TeamProject
A Project represents a specific application or system.
Projects help organize database designs separately.
Examples:
Workspace
│
├── Online Store
├── Mobile Banking
├── Hospital Management
└── School ManagementEach Project contains one or more Database Schemas.
Database Schema
A Database Schema is where database design happens.
Inside a Schema you can:
- Create tables
- Add columns
- Define primary keys
- Create foreign keys
- Build relationships
- Generate SQL
- Generate DBML
Every schema belongs to exactly one Project.
Example organization
Below is an example of how a software company might organize Qubase.
John (User)
│
└── Workspace: ABC Company
│
├── Project: HR System
│ ├── Schema v1
│ └── Schema v2
│
├── Project: CRM System
│ └── Production Schema
│
└── Project: Inventory System
├── Development
└── ProductionWhy this structure?
Organizing resources into multiple levels provides several benefits:
- Keeps projects separated
- Makes collaboration easier
- Improves permission management
- Supports multiple applications
- Simplifies version management
- Scales from individual developers to enterprise teams
Best practices
- Create one Workspace for each organization or team.
- Create one Project for each application.
- Keep development and production schemas separate.
- Use meaningful names for Workspaces, Projects, and Schemas.
- Archive unused Projects instead of deleting them.
[!TIP] If you’re building multiple applications for the same company, create one Workspace and multiple Projects instead of creating multiple Workspaces.