[package]
edition = "2024"
name = "mool"
version = "0.2.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A source-first Rust database toolkit for typed SQL queries, migrations, and model metadata"
documentation = "https://docs.rs/mool"
readme = "README.md"
license = "MIT"
repository = "https://github.com/vivsh/mool"
[package.metadata.docs.rs]
features = [
"sqlite",
"migrations",
]
no-default-features = true
[features]
default = []
migrations = ["gaman/cli"]
mock = []
mysql = ["sqlx/mysql"]
postgres = [
"sqlx/postgres",
"gaman/postgres",
]
sqlite = [
"sqlx/sqlite",
"gaman/sqlite",
]
[lib]
name = "mool"
path = "src/lib.rs"
[[example]]
name = "basic_crud_planning"
path = "examples/basic_crud_planning.rs"
[[example]]
name = "enums"
path = "examples/enums.rs"
[[example]]
name = "filters"
path = "examples/filters.rs"
[[example]]
name = "migrations_embedding"
path = "examples/migrations_embedding.rs"
[[example]]
name = "mock_testing"
path = "examples/mock_testing.rs"
[[example]]
name = "relations"
path = "examples/relations.rs"
[[test]]
name = "embedded_migrations"
path = "tests/embedded_migrations.rs"
[[test]]
name = "mock_session"
path = "tests/mock_session.rs"
[[test]]
name = "query_conformance"
path = "tests/query_conformance.rs"
[[test]]
name = "schema_models"
path = "tests/schema_models.rs"
[[test]]
name = "schema_registry"
path = "tests/schema_registry.rs"
[[test]]
name = "trybuild"
path = "tests/trybuild.rs"
[dependencies.chrono]
version = "0.4.41"
features = ["serde"]
[dependencies.gaman]
version = "0.3.22"
features = ["native"]
default-features = false
[dependencies.indexmap]
version = "2.10.0"
features = ["serde"]
[dependencies.mool-macros]
version = "0.1.2"
[dependencies.schemars]
version = "1.0.4"
[dependencies.serde]
version = "1.0.219"
features = [
"derive",
"rc",
"serde_derive",
]
[dependencies.serde_json]
version = "1.0.140"
features = [
"indexmap",
"raw_value",
"preserve_order",
]
[dependencies.sqlx]
version = "^0.8.6"
features = [
"chrono",
"postgres",
"sqlite",
"runtime-tokio",
"uuid",
"json",
]
[dependencies.thiserror]
version = "2.0.12"
[dependencies.tokio]
version = "1.46.1"
features = ["full"]
[dependencies.twox-hash]
version = "1.6"
[dependencies.url]
version = "2.5.4"
[dependencies.uuid]
version = "1.17.0"
features = [
"v4",
"v7",
"serde",
]
[dev-dependencies.trybuild]
version = "1"