- CLI
- generate
- migrate
- db
- push
- seed
- info
- init
- validate
- format
- repl
- plugin mechanism
- built-in plugins
- typescript
- prisma
- ZModel
- Import
- View support
- ORM
- Create
- Input validation
- Simple create
- Nested create
- Relation connection
- Create many
- ID generation
- CreateManyAndReturn
- Find
- Input validation
- Field selection
- Omit
- Counting relation
- Pagination
- Skip and limit
- Cursor
- Filtering
- Unique fields
- Scalar fields
- Relation fields
- JSON filtering
- Full-text search
- Sort
- Scalar fields
- Relation fields
- Relation inclusion
- Filtering
- Sorting
- Pagination
- Distinct
- Update
- Input validation
- Top-level
- Nested to-many
- Nested to-one
- Incremental update for numeric fields
- Array update
- Strict typing for checked/unchecked input
- Upsert
- Delete
- Aggregation
- Count
- Aggregate
- Group by
- Raw queries
- Transactions
- Interactive transaction
- Sequential transaction
- Extensibility
- Query builder API
- Computed fields
- Plugin
- Custom procedures
- Misc
- JSDoc for CRUD methods
- Cache validation schemas
- Compound ID
- Many-to-many relation
- Self relation
- Empty AND/OR/NOT behavior
- Logging
- Error system
- Custom table name
- Custom field name
- Global omit
- DbNull vs JsonNull
- Migrate to tsdown
- @default validation
- Benchmark
- Create
- Plugin
- Post-mutation hooks should be called after transaction is committed
- TypeDef and mixin
- Strongly typed JSON
- Polymorphism
- ZModel
- Runtime
- Typing
- Validation
- Access Policy
- Short-circuit pre-create check for scalar-field only policies
- Field-level policies
- Inject "on conflict do update"
-
checkfunction - Custom functions
- Accessing tables not in the schema
- Migration
- Databases
- SQLite
- PostgreSQL
- Multi-schema
- MySQL