Skip to main content

diesel_timescaledb/
lib.rs

1//! # diesel-timescaledb
2//!
3//! A Diesel extension for TimescaleDB functionality.
4//!
5//! This crate provides Diesel-compatible types, functions, and utilities
6//! for working with TimescaleDB's time-series database features.
7//!
8//! ## Quick Start
9//!
10//! ```rust
11//! use diesel::prelude::*;
12//! use diesel_timescaledb::prelude::*;
13//!
14//! table! {
15//!     metrics (id) {
16//!         id -> Int4,
17//!         timestamp -> Timestamptz,
18//!         value -> Float8,
19//!     }
20//! }
21//!
22//! // Make it a hypertable
23//! hypertable!(metrics, timestamp);
24//!
25//! // Use TimescaleDB functions
26//! // let results = metrics::table
27//! //     .time_bucket(metrics::timestamp, "1 hour")
28//! //     .load(&mut conn)?;
29//! ```
30
31pub mod connection;
32pub mod dsl;
33pub mod functions;
34pub mod prelude;
35pub mod schema;
36pub mod types;
37
38// Re-export commonly used items
39pub use connection::TimescaleDbConnection;
40pub use types::*;