#![cfg_attr(docsrs, feature(doc_auto_cfg))]
pub mod core;
pub mod orm;
pub use orm::casts::TypedJson;
#[cfg(feature = "factory")]
pub mod factory;
#[cfg(feature = "migrate")]
pub mod migrate;
#[cfg(feature = "query")]
pub mod dsl;
pub mod services;
pub use crate::core::condition::{Condition, JoinOp, OrderDir, SqlValue};
pub use crate::core::model::Model;
pub use crate::core::query::{Dialect, QueryBuilder};
#[cfg(feature = "postgres")]
pub use crate::orm::postgres;
#[cfg(feature = "mysql")]
pub use crate::orm::mysql;
#[cfg(feature = "sqlite")]
pub use crate::orm::sqlite;
#[cfg(all(feature = "active", feature = "postgres"))]
pub use crate::orm::model_query;
#[cfg(all(feature = "active", feature = "postgres"))]
pub use crate::orm::morph;
#[cfg(all(feature = "active", feature = "postgres"))]
pub use crate::orm::through;
#[cfg(feature = "axum")]
pub use crate::orm::orm_layer;
#[cfg(feature = "tenant")]
pub use crate::core::tenant;
#[cfg(feature = "replica")]
pub use crate::core::replica;
#[cfg(feature = "macros")]
pub use rok_fluent_macros::{query, Model as ModelDerive, Resource, Seed, Table as TableDerive};