Expand description
§use-pg-constraint
PostgreSQL constraint primitives for RustUse.
This crate provides constraint names, kinds, deferrability labels, constrained columns, referenced table metadata, and expression labels. It does not generate or execute SQL.
§Example
use use_pg_column::PgColumnName;
use use_pg_constraint::{PgConstraint, PgConstraintKind, PgConstraintName, PgDeferrability, PgInitially};
let constraint = PgConstraint::new(PgConstraintKind::PrimaryKey)
.with_name(PgConstraintName::new("users_pkey")?)
.with_columns(vec![PgColumnName::new("id")?])
.with_deferrability(PgDeferrability::deferrable(PgInitially::Immediate));
assert_eq!(constraint.to_string(), "CONSTRAINT users_pkey PRIMARY KEY");
assert_eq!(constraint.columns().len(), 1);
assert!(constraint.deferrability().is_deferrable());Structs§
- PgConstraint
- PostgreSQL constraint metadata without database introspection.
- PgConstraint
Name - PostgreSQL constraint name primitive.
- PgDeferrability
- PostgreSQL constraint deferrability metadata.
Enums§
- PgConstraint
Error - Error returned when PostgreSQL constraint metadata is invalid.
- PgConstraint
Kind - PostgreSQL constraint kind labels.
- PgInitially
- Initial timing label for deferrable PostgreSQL constraints.