Skip to main content

Crate use_pg_column

Crate use_pg_column 

Source
Expand description

§use-pg-column

PostgreSQL column metadata primitives for RustUse.

This crate provides column names, column type metadata, default-expression labels, nullability, generated-column labels, and identity labels. Defaults are stored as labels and are not parsed or executed.

§Example

use use_pg_column::{PgColumn, PgColumnDefault, PgColumnName, PgIdentityKind, PgNullability};
use use_pg_type::PgBuiltInType;

let column = PgColumn::with_built_in_type(PgColumnName::new("id")?, PgBuiltInType::BigInt)
    .with_nullability(PgNullability::NotNull)
    .with_identity(PgIdentityKind::Always)
    .with_default(PgColumnDefault::new("nextval('users_id_seq')")?);

assert_eq!(column.name().as_str(), "id");
assert_eq!(column.type_name().as_str(), "bigint");
assert_eq!(column.nullability(), PgNullability::NotNull);

Structs§

PgColumn
PostgreSQL column metadata.
PgColumnDefault
A PostgreSQL column default expression label.
PgColumnName
PostgreSQL column name primitive.

Enums§

PgColumnError
Error returned when PostgreSQL column metadata is invalid.
PgGeneratedKind
PostgreSQL generated-column labels.
PgIdentityKind
PostgreSQL identity-column labels.
PgNullability
PostgreSQL column nullability labels.