PocketBase Patterns
Pattern Selection
Choose the data model based on tenancy requirements.
Integrated RBAC
account_idis a relation field- Rules use
@request.auth.current_account - Use
accountRelation()in migrations
Federated Multi-Tenant
tenant_idandaccount_idare opaque text fields- JWT verified via tenant lookup
- Use
multiTenantFields()and multi-tenant middleware
Migration Rules
- Write TypeScript migrations in
pb_migrations_src/ - Generate JS via
pnpm build:migrations - Do not edit generated JS migration files
High-Risk Gotchas
Missing Autodate Fields
PocketBase does not auto-create created and updated.
Declare them explicitly in all collection migrations.
Wrong Pattern In New App
Do not mix relation-based and opaque-ID-based schemas in one app.
If uncertain, revisit System Architecture.