Skip to main content

Crate use_pg_enum

Crate use_pg_enum 

Source
Expand description

§use-pg-enum

PostgreSQL enum type primitives for RustUse.

This crate provides enum type names, variant labels, and ordered vector-backed enum type metadata. It validates variant labels and can reject duplicates.

§Example

use use_pg_enum::{PgEnumName, PgEnumType, PgEnumVariant};
use use_pg_schema::PgSchemaName;

let enum_type = PgEnumType::new(PgEnumName::new("order_status")?)
    .with_schema(PgSchemaName::public())
    .with_variants(vec![
        PgEnumVariant::new("pending")?,
        PgEnumVariant::new("paid")?,
        PgEnumVariant::new("shipped")?,
    ])?;

assert_eq!(enum_type.to_string(), "public.order_status");
assert_eq!(enum_type.variants()[0].as_str(), "pending");

Structs§

PgEnumName
PostgreSQL enum type name primitive.
PgEnumType
PostgreSQL enum type metadata with ordered variants.
PgEnumVariant
PostgreSQL enum variant label.

Enums§

PgEnumError
Error returned when PostgreSQL enum metadata is invalid.