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.