easy-sql 0.100.1

Macro-first SQL toolkit with compile-time checked queries, optional migrations on top of sqlx.
Documentation
[package]
edition = "2024"
license = "Apache-2.0"
name = "easy-sql"
version = "0.100.1"

description = "Macro-first SQL toolkit with compile-time checked queries, optional migrations on top of sqlx."
readme = "README.md"

authors = ["LimitLost (JQ) <jq@limitlost.com>"]
documentation = "https://docs.rs/easy-sql"
homepage = "https://github.com/LimitLost/easy-sql"
repository = "https://github.com/LimitLost/easy-sql"
keywords = ["sql", "sqlx", "sqlite", "postgres", "macros"]
categories = ["database", "development-tools", "development-tools::build-utils"]

[dependencies]

sqlx = {version = "0.8"}

docify = "0.4.1"

pg_escape = {version = "0.1.1", optional = true}
uuid = {version = "1", features = ["serde"], optional = true}
# Add serde impl to bigdecimal
bigdecimal = {version = "0.4", features = ["serde-json"], optional = true}
# Add serde impl to decimal
rust_decimal = {version = "1.37.1", features = ["serde-str"], optional = true}
easy-macros = {version = "1.1.1", features = ["always-context"]}
chrono = {version = "0.4", features = ["serde"], optional = true}


anyhow = {version = "1"}

# Used for handling binary 
bincode = {version = "2", features = ["serde"]}
serde = {version = "1", features = ["derive"]}

# Used by generated code by query_lazy! macro
futures-core = {version = "0.3.31"}

easy-sql-compilation-data = { version = "1.0.1", default-features = false }
easy-sql-macros = { version = "1.0.0" }

[dev-dependencies]
dotenvy = "0.15"
tokio = {version = "1", features = ["full"]}
tracing = "0.1"
tracing-subscriber = {version = "0.3", features = ["fmt", "env-filter"]}
lazy_static = {version = "1"}
futures = {version = "0.3.31"}
serde_json = {version = "1"}

sqlx = {version = "0.8", features = [
  "runtime-tokio",
  "json",
]}

easy-macros = {version = "1.1.1", features = ["add-code"]}

[build-dependencies]
easy-macros = {version = "1.1.1", features = ["build"]}
regex = "1"
easy-sql-build = { version = "1.0.1", features = ["migrations"] }

[features]
default = ["check_duplicate_table_names"]
postgres = ["sqlx/postgres", "dep:pg_escape"]
sqlite = ["sqlx/sqlite"]
sqlite_math = []

use_output_columns = ["easy-sql-macros/use_output_columns"]
migrations = [
  "easy-sql-macros/migrations",
  "easy-sql-compilation-data/migrations",
]
check_duplicate_table_names = [
  "easy-sql-macros/check_duplicate_table_names",
  "easy-sql-compilation-data/check_duplicate_table_names",
]

# Adds ToDefault implementation for BigDecimal
bigdecimal=["sqlx/bigdecimal", "dep:bigdecimal"]
# Adds ToDefault implementation for Decimal from rust_decimal
rust_decimal=["sqlx/rust_decimal", "dep:rust_decimal"]
# Adds ToDefault implementation for IpNet
ipnet = ["sqlx/ipnet"]
uuid = ["sqlx/uuid","dep:uuid"]
chrono = ["sqlx/chrono","dep:chrono"]

generate-readme = []