Puri Query Builder
Does Puri directly implement Promise?
Does Puri directly implement Promise?
Yes, Puri directly implements the Usage:Note:
Promise interface.- Methods like
.getMany(),.getOne(),.getScalar()do not exist - Always returns an array (
Expand<TResult>[]) - Use
.first()for single object
How do I use aggregate functions in Puri?
How do I use aggregate functions in Puri?
Use static methods like
Puri.count(), Puri.sum(), Puri.avg().How do I use JOIN in Puri?
How do I use JOIN in Puri?
INNER JOIN:LEFT JOIN:Complex JOIN conditions (callback approach):
How do I use subqueries in Puri?
How do I use subqueries in Puri?
WHERE IN subquery:FROM subquery:
Migrations
How do I create and run migrations?
How do I create and run migrations?
1. Modify EntityEdit Entity in Sonamu UI2. Generate migrationOr via CLI:3. Run migration
How do I safely test migrations?
How do I safely test migrations?
Use Shadow DB for testing:Shadow DB configuration:
How do I safely migrate existing data when changing column types?
How do I safely migrate existing data when changing column types?
Use a temporary column to transform data, then replace the original column.Example: string β integer conversion
How do I preserve data when renaming columns?
How do I preserve data when renaming columns?
Entity auto-generation creates DROP/ADD, so manually use RENAME:
How do I modify columns with FK constraints?
How do I modify columns with FK constraints?
Drop FK constraint, modify column, recreate FK:
PostgreSQL Specific
How do I use PostgreSQL JSONB operators in Puri?
How do I use PostgreSQL JSONB operators in Puri?
Use JSONB containment operator (@>):JSONB key existence (?):Nested JSONB properties:Notes:
Puri.rawString() and .whereRaw() for JSONB operators.JSONB property query (->>, ->):->>returns text,->returns JSONB- Use parameter binding to prevent SQL Injection
- GIN index recommended:
CREATE INDEX ON products USING gin(metadata);
How do I use PostgreSQL Full-Text Search?
How do I use PostgreSQL Full-Text Search?
Create ts_vector column:Search query:Highlighting:
Transactions
How do I use transactions?
How do I use transactions?
Method 1: Modelβs transaction methodMethod 2: DB.transactAuto-rollback on error.