Skip to main content

Module sequence

Module sequence 

Source
Expand description

Database sequence definitions and operations.

This module provides types for defining and manipulating database sequences across different database backends.

§Supported Features

FeaturePostgreSQLMySQLSQLiteMSSQLMongoDB
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.
SequenceBuilder
Builder for creating sequences.