Expand description
Database sequence definitions and operations.
This module provides types for defining and manipulating database sequences across different database backends.
§Supported Features
| Feature | PostgreSQL | MySQL | SQLite | MSSQL | MongoDB |
|---|---|---|---|---|---|
| Sequences | ✅ | ❌ | ❌ | ✅ | ❌* |
| Custom start/increment | ✅ | ✅ | ❌ | ✅ | ✅* |
| Sequence manipulation | ✅ | ❌ | ❌ | ✅ | ✅* |
| Auto-increment pattern | ✅ | ✅ | ✅ | ✅ | ✅ |
*MongoDB uses counter collections with
findAndModify
§Example Usage
ⓘ
use prax_query::sequence::{Sequence, SequenceBuilder};
// Define a sequence
let seq = Sequence::builder("order_number")
.start(1000)
.increment(1)
.min_value(1)
.max_value(i64::MAX)
.cycle(false)
.cache(20)
.build();
// Generate SQL
let create_sql = seq.to_postgres_create_sql();
// Get next value
let next_val_sql = seq.nextval_sql(DatabaseType::PostgreSQL);Modules§
- auto_
increment - Auto-increment column helpers for databases without sequence support.
- mongodb
- MongoDB counter-based sequence pattern.
- ops
- Sequence operations for retrieving and manipulating sequence values.
- patterns
- Pre-built sequence patterns for common use cases.
Structs§
- OwnedBy
- Column ownership for a sequence.
- Sequence
- A database sequence definition.
- Sequence
Builder - Builder for creating sequences.