Database Options
Backdrift supports two database backends:| Option | Best For | Features |
|---|---|---|
| DynamoDB (default) | Simple apps, high scale | NoSQL, auto-scaling, pay-per-request |
| RDS PostgreSQL | Complex queries, joins | Relational, SQL, foreign key constraints |
Entities
Entities are your data models. Each entity becomes a database table with automatic CRUD endpoints.Defining Entities
Field Types
| Type | Description | Example |
|---|---|---|
string | Text data | names, descriptions |
number | Floating point | prices, scores |
integer | Whole numbers | counts, ages |
boolean | True/false | is_active, is_verified |
datetime | ISO timestamp | due_date, created_at |
date | Date only | birth_date |
enum | Fixed options | status, priority |
json | Arbitrary JSON | metadata, settings |
Field Constraints
Required vs Optional
Unique Fields
Default Values
Enums
Relationships
One-to-Many
project_idforeign key on Task- Index for efficient queries
- Cascade delete options
Many-to-Many
Self-Referential
parent_task_id field on Task.
Automatic Fields
Backdrift adds useful fields automatically:| Field | Description |
|---|---|
id | UUID primary key |
created_at | When record was created |
updated_at | When record was last modified |
org_id | Tenant ID (if multi-tenant) |
Indexes
Backdrift creates indexes for:- Primary keys (
id) - Foreign keys (
project_id) - Tenant keys (
org_id) - Frequently queried fields
Query Optimization
(status, due_date).
Multi-Tenant Data
In multi-tenant mode, every entity gets:org_id.
PII Detection
Backdrift detects Personally Identifiable Information:| Field Pattern | Detection |
|---|---|
email | Email PII |
phone | Phone PII |
ssn | SSN PII (Critical) |
address | Address PII |
- Encryption at rest
- Access logging
- Data retention policies
Example: E-commerce
Scheduled Jobs
Learn how to run background tasks on a schedule.
