[package]
edition = "2024"
name = "switchy_database_connection"
version = "0.2.0"
authors = ["Braden Steffaniak"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Switchy database connection package"
readme = "README.md"
keywords = [
"database",
"mysql",
"postgres",
"sqlite",
]
categories = ["database"]
license = "MPL-2.0"
repository = "https://github.com/MoosicBox/MoosicBox"
[package.metadata]
examples = true
[package.metadata.workspaces]
group = "switchy"
[features]
creds = [
"dep:aws-config",
"dep:aws-sdk-ssm",
]
database-connection-turso = ["turso"]
default = [
"duckdb",
"mysql-sqlx",
"postgres-sqlx",
"simulator",
"sqlite-rusqlite",
"sqlite-sqlx",
]
duckdb = [
"dep:duckdb",
"dep:switchy_async",
"switchy_database/duckdb",
]
duckdb-bundled = [
"duckdb",
"duckdb/bundled",
"switchy_database/duckdb-bundled",
]
fail-on-warnings = [
"switchy_async?/fail-on-warnings",
"switchy_database/fail-on-warnings",
"switchy_env/fail-on-warnings",
]
mysql = [
"dep:switchy_async",
"switchy_database/mysql",
]
mysql-sqlx = [
"mysql",
"sqlx",
"sqlx/mysql",
"switchy_database/mysql-sqlx",
]
postgres = [
"dep:switchy_async",
"switchy_database/postgres",
]
postgres-native-tls = [
"dep:native-tls",
"dep:postgres-native-tls",
]
postgres-openssl = [
"dep:openssl",
"dep:postgres-openssl",
]
postgres-raw = [
"dep:deadpool-postgres",
"dep:tokio-postgres",
"postgres",
"switchy_database/postgres-raw",
]
postgres-sqlx = [
"postgres",
"sqlx",
"sqlx/postgres",
"sqlx/tls-rustls",
"switchy_database/postgres-sqlx",
]
simulator = [
"switchy_async?/simulator",
"switchy_database/simulator",
"switchy_env/simulator",
]
sqlite = [
"dep:switchy_async",
"switchy_database/sqlite",
]
sqlite-rusqlite = [
"dep:rusqlite",
"sqlite",
"switchy_database/sqlite-rusqlite",
]
sqlite-sqlx = [
"sqlite",
"sqlx",
"sqlx/sqlite",
"switchy_database/sqlite-sqlx",
]
sqlx = [
"dep:sqlx",
"switchy_database/sqlx",
]
tls = [
"sqlx/tls-rustls",
"switchy_database/tls",
]
turso = [
"sqlite",
"switchy_database/turso",
]
[lib]
name = "switchy_database_connection"
path = "src/lib.rs"
[dependencies.aws-config]
version = "1.8.16"
optional = true
[dependencies.aws-sdk-ssm]
version = "1.109.0"
optional = true
[dependencies.deadpool-postgres]
version = "0.14.1"
optional = true
[dependencies.duckdb]
version = "1.10502.0"
optional = true
default-features = false
[dependencies.log]
version = "0.4.29"
features = ["release_max_level_trace"]
[dependencies.native-tls]
version = "0.2.18"
optional = true
[dependencies.openssl]
version = "0.10.80"
features = ["v110"]
optional = true
[dependencies.postgres-native-tls]
version = "0.5.3"
optional = true
[dependencies.postgres-openssl]
version = "0.5.3"
optional = true
[dependencies.rusqlite]
version = "=0.32.1"
features = ["bundled"]
optional = true
[dependencies.sqlx]
version = "0.8.6"
features = ["runtime-tokio"]
optional = true
default-features = false
[dependencies.switchy_async]
version = "0.2.0"
optional = true
default-features = false
[dependencies.switchy_database]
version = "0.2.0"
default-features = false
[dependencies.switchy_env]
version = "0.2.0"
features = ["std"]
default-features = false
[dependencies.thiserror]
version = "2.0.18"
[dependencies.tokio-postgres]
version = "0.7.17"
features = []
optional = true