sntl 0.1.1

Compile-time guarded ORM for PostgreSQL — your data's guardian from compile to production
Documentation
//! # Sentinel ORM
//!
//! Compile-time guarded ORM for PostgreSQL.
//!
//! ```toml
//! [dependencies]
//! sntl = "0.1"
//! ```
//!
//! ```rust
//! use sntl::prelude::*;
//! ```

#[doc(hidden)]
pub mod __priv;

/// Core — Model trait, QueryBuilder, types, and connection abstraction.
pub mod core;

/// Migration tools — schema diff and migration generation.
pub mod migrate;

/// Prelude — common imports for quick setup.
pub mod prelude {
    pub use crate::core::prelude::*;
}

/// PostgreSQL wire protocol driver.
pub use driver;

/// Derive macros — `#[derive(Model)]`, `#[derive(Partial)]`, `#[derive(FromRow)]`.
pub use macros::FromRow;
pub use macros::Model;
pub use macros::Partial;

/// Compile-time-validated `query!()` family.
pub use macros::{
    query, query_as, query_as_unchecked, query_file, query_file_as, query_pipeline, query_scalar,
    query_unchecked,
};

/// Attribute macro — `#[sentinel(relations)]`.
pub use macros::sentinel;

pub use core::error::{Error, Result};
pub use core::observability;

// Re-export driver traits for custom PG types
pub use driver::{FromSql, ToSql};

// Re-export key driver types for direct use
pub use driver::{Config, Oid, Pool, PooledConnection};

/// PostgreSQL extension types re-exported from the driver.
pub mod types {
    pub use driver::types::{cube, hstore, ltree};
}

/// Internal API used by `sntl::query!` family macros. Not covered by semver.
#[doc(hidden)]
pub mod __macro_support {
    pub use crate::core::query::macro_support::*;
}