[package]
edition = "2024"
name = "gimbal_database"
version = "0.1.0"
authors = ["Braden Steffaniak"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Gimbal database package"
readme = "README.md"
keywords = [
"database",
"mysql",
"postgres",
"sqlite",
]
categories = ["database"]
license = "MPL-2.0"
repository = "https://github.com/MoosicBox/MoosicBox"
resolver = "2"
[package.metadata.workspaces]
group = "gimbal"
[features]
api = [
"dep:actix-web",
"dep:futures",
"dep:qstring",
]
default = [
"api",
"mysql",
"postgres-sqlx",
"schema",
"simulator",
"sqlite-rusqlite",
"sqlite-sqlx",
]
fail-on-warnings = []
mysql = [
"mysql-sqlx",
"sqlx",
]
mysql-sqlx = [
"dep:futures",
"dep:sqlx",
"sqlx",
"sqlx/mysql",
]
postgres = [
"dep:futures",
"dep:moosicbox_task",
"dep:regex",
"dep:tokio-util",
"postgres-raw",
]
postgres-raw = [
"dep:postgres-protocol",
"dep:tokio-postgres",
"postgres",
]
postgres-sqlx = [
"dep:sqlx",
"dep:sqlx-postgres",
"postgres",
"sqlx",
"sqlx-postgres/chrono",
"sqlx/postgres",
]
schema = []
simulator = ["sqlite-rusqlite"]
sqlite = ["sqlite-sqlx"]
sqlite-rusqlite = ["dep:rusqlite"]
sqlite-sqlx = [
"dep:futures",
"dep:regex",
"dep:sqlx",
"sqlx",
"sqlx/sqlite",
]
sqlx = []
tls = ["sqlx/tls-rustls"]
[lib]
name = "gimbal_database"
path = "src/lib.rs"
[dependencies.actix-web]
version = "4.10.2"
optional = true
[dependencies.async-trait]
version = "0.1.88"
[dependencies.chrono]
version = "0.4.41"
features = [
"clock",
"serde",
]
default-features = false
[dependencies.futures]
version = "0.3"
optional = true
[dependencies.log]
version = "0.4"
features = ["release_max_level_trace"]
[dependencies.moosicbox_assert]
version = "0.1.0"
default-features = false
[dependencies.moosicbox_task]
version = "0.1.0"
optional = true
default-features = false
[dependencies.postgres-protocol]
version = "0.6.8"
features = []
optional = true
[dependencies.qstring]
version = "0.7.2"
optional = true
[dependencies.regex]
version = "1.11.1"
optional = true
[dependencies.rusqlite]
version = "=0.32.1"
features = ["bundled"]
optional = true
[dependencies.sqlx]
version = "0.8.5"
features = [
"chrono",
"runtime-tokio",
"runtime-tokio",
]
optional = true
default-features = false
[dependencies.sqlx-postgres]
version = "0.8.5"
features = ["chrono"]
optional = true
default-features = false
[dependencies.thiserror]
version = "2.0.12"
[dependencies.tokio]
version = "1.45.0"
features = ["sync"]
[dependencies.tokio-postgres]
version = "0.7.13"
features = ["with-chrono-0_4"]
optional = true
[dependencies.tokio-util]
version = "0.7.15"
optional = true