249 lines
7.3 KiB
TOML
249 lines
7.3 KiB
TOML
[workspace]
|
|
members = [".", "sea-orm-macros", "sea-orm-codegen", "sea-orm-arrow"]
|
|
|
|
[package]
|
|
authors = ["Chris Tsang <chris.2y3@outlook.com>"]
|
|
categories = ["database"]
|
|
description = "🐚 An async & dynamic ORM for Rust"
|
|
documentation = "https://docs.rs/sea-orm"
|
|
edition = "2024"
|
|
homepage = "https://www.sea-ql.org/SeaORM"
|
|
keywords = ["async", "orm", "mysql", "postgres", "sqlite"]
|
|
license = "MIT OR Apache-2.0"
|
|
name = "sea-orm"
|
|
repository = "https://github.com/SeaQL/sea-orm"
|
|
rust-version = "1.94.0"
|
|
version = "2.0.0"
|
|
|
|
[package.metadata.docs.rs]
|
|
features = [
|
|
"default",
|
|
"sqlx-all",
|
|
"mock",
|
|
"proxy",
|
|
"rbac",
|
|
"schema-sync",
|
|
"tracing-spans",
|
|
"runtime-tokio-native-tls",
|
|
"postgres-array",
|
|
"postgres-vector",
|
|
"with-ipnetwork",
|
|
"with-arrow",
|
|
"stream",
|
|
]
|
|
rustdoc-args = ["--cfg", "docsrs"]
|
|
|
|
[lib]
|
|
name = "sea_orm"
|
|
path = "src/lib.rs"
|
|
|
|
[dependencies]
|
|
async-stream = { version = "0.3", default-features = false }
|
|
async-trait = { version = "0.1", default-features = false }
|
|
bigdecimal = { version = "0.4", default-features = false, features = [
|
|
"std",
|
|
], optional = true }
|
|
chrono = { version = "0.4.30", default-features = false, optional = true }
|
|
derive-where = "1.6.1"
|
|
derive_more = { version = "2", features = ["debug"] }
|
|
futures-util = { version = "0.3", default-features = false, features = [
|
|
"std",
|
|
] }
|
|
inventory = { version = "0.3", optional = true }
|
|
ipnetwork = { version = "0.21", default-features = false, optional = true, features = [
|
|
"serde",
|
|
] }
|
|
itertools = "0.14.0"
|
|
log = { version = "0.4", default-features = false }
|
|
mac_address = { version = "1.1", default-features = false, optional = true }
|
|
ouroboros = { version = "0.18", default-features = false, optional = true }
|
|
pgvector = { version = "~0.4", default-features = false, optional = true }
|
|
rust_decimal = { version = "1", default-features = false, features = [
|
|
"std",
|
|
], optional = true }
|
|
sea-orm-arrow = { version = "2.0.0-rc", path = "sea-orm-arrow", default-features = false, optional = true }
|
|
sea-orm-macros = { version = "~2.0.0", path = "sea-orm-macros", default-features = false, features = [
|
|
"async",
|
|
"strum",
|
|
] }
|
|
sea-query = { version = "~1.0.0", default-features = false, features = [
|
|
"thread-safe",
|
|
"hashable-value",
|
|
"backend-mysql",
|
|
"backend-postgres",
|
|
"backend-sqlite",
|
|
"sea-orm",
|
|
] }
|
|
sea-query-sqlx = { version = "0.9", default-features = false, optional = true }
|
|
sea-schema = { version = "0.18.1", default-features = false, features = [
|
|
"discovery",
|
|
"writer",
|
|
"probe",
|
|
], optional = true }
|
|
serde = { version = "1.0", default-features = false, optional = true }
|
|
serde_json = { version = "1.0", default-features = false, optional = true }
|
|
sqlx = { version = "0.9.0", default-features = false, optional = true }
|
|
sqlx-core = { version = "0.9.0", default-features = false, optional = true }
|
|
strum = { version = "0.28", default-features = false }
|
|
thiserror = { version = "2", default-features = false }
|
|
time = { version = "0.3.36", default-features = false, optional = true }
|
|
tracing = { version = "0.1", default-features = false, features = [
|
|
"attributes",
|
|
"log",
|
|
] }
|
|
url = { version = "2.2", default-features = false }
|
|
uuid = { version = "1", default-features = false, optional = true }
|
|
|
|
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
|
web-time = { version = "1.1.0", default-features = false }
|
|
|
|
[dev-dependencies]
|
|
dotenv = "0.15"
|
|
maplit = { version = "1" }
|
|
pretty_assertions = { version = "0.7" }
|
|
sea-orm = { path = ".", features = [
|
|
"debug-print",
|
|
"mock",
|
|
"postgres-array",
|
|
"tests-cfg",
|
|
] }
|
|
smol = { version = "1.2" }
|
|
smol-potat = { version = "1.1" }
|
|
time = { version = "0.3.36", features = ["macros"] }
|
|
tokio = { version = "1.6", features = ["full"] }
|
|
tracing-subscriber = { version = "0.3.17", features = ["env-filter"] }
|
|
uuid = { version = "1", features = ["v4"] }
|
|
|
|
[features]
|
|
debug-print = []
|
|
default = [
|
|
"macros",
|
|
"with-json",
|
|
"with-chrono",
|
|
"with-rust_decimal",
|
|
"with-uuid",
|
|
"with-time",
|
|
"sqlite-use-returning-for-3_35",
|
|
"stream",
|
|
]
|
|
entity-registry = ["inventory", "sea-orm-macros/entity-registry"]
|
|
json-array = [
|
|
"postgres-array",
|
|
] # this does not actually enable sqlx-postgres, but only a few traits to support array in sea-query
|
|
macros = ["sea-orm-macros/derive"]
|
|
mariadb-use-returning = []
|
|
mock = []
|
|
postgres-array = [
|
|
"sea-query/postgres-array",
|
|
"sea-orm-macros/postgres-array",
|
|
"sea-query-sqlx?/postgres-array",
|
|
]
|
|
postgres-use-serial-pk = ["sea-query/option-postgres-use-serial"]
|
|
postgres-vector = [
|
|
"pgvector",
|
|
"sea-query/postgres-vector",
|
|
"sea-query-sqlx?/postgres-vector",
|
|
]
|
|
proxy = ["serde/derive"]
|
|
rbac = ["sea-query/audit", "macros"]
|
|
runtime-async-std = ["sqlx?/runtime-async-std"]
|
|
runtime-async-std-native-tls = ["sqlx?/tls-native-tls", "runtime-async-std"]
|
|
runtime-async-std-rustls = ["sqlx?/tls-rustls", "runtime-async-std"]
|
|
runtime-tokio = ["sqlx?/runtime-tokio"]
|
|
runtime-tokio-native-tls = ["sqlx?/tls-native-tls", "runtime-tokio"]
|
|
runtime-tokio-rustls = ["sqlx?/tls-rustls", "runtime-tokio"]
|
|
rusqlite = []
|
|
schema-sync = ["sea-schema"]
|
|
sea-orm-internal = []
|
|
seaography = ["sea-orm-macros/seaography"]
|
|
serde = ["dep:serde", "serde/derive", "uuid?/serde"]
|
|
sqlite-no-row-value-before-3_15 = []
|
|
sqlite-use-returning-for-3_35 = []
|
|
sqlx-all = ["sqlx-mysql", "sqlx-postgres", "sqlx-sqlite"]
|
|
sqlx-dep = ["sqlx", "sqlx-core"]
|
|
sqlx-mysql = [
|
|
"sqlx-dep",
|
|
"sea-query-sqlx/sqlx-mysql",
|
|
"sea-schema?/sqlx-mysql",
|
|
]
|
|
sqlx-postgres = [
|
|
"sqlx-dep",
|
|
"sea-orm-macros/sqlx-postgres",
|
|
"sea-query-sqlx/sqlx-postgres",
|
|
"postgres-array",
|
|
"sea-schema?/sqlx-postgres",
|
|
]
|
|
sqlx-sqlite = [
|
|
"sqlx-dep",
|
|
"sea-query-sqlx/sqlx-sqlite",
|
|
"sea-schema?/sqlx-sqlite",
|
|
]
|
|
stream = ["dep:ouroboros"]
|
|
sync = []
|
|
tests-cfg = ["serde/derive"]
|
|
tests-features = [
|
|
"default",
|
|
"postgres-array",
|
|
"rbac",
|
|
"schema-sync",
|
|
"with-arrow",
|
|
"with-bigdecimal",
|
|
"with-ipnetwork",
|
|
]
|
|
tracing-spans = []
|
|
with-arrow = ["sea-orm-arrow", "sea-orm-macros/with-arrow"]
|
|
with-bigdecimal = [
|
|
"bigdecimal",
|
|
"sea-query/with-bigdecimal",
|
|
"sea-query-sqlx?/with-bigdecimal",
|
|
"sea-orm-arrow?/with-bigdecimal",
|
|
]
|
|
with-chrono = [
|
|
"chrono",
|
|
"sea-query/with-chrono",
|
|
"sea-query-sqlx?/with-chrono",
|
|
"sea-orm-arrow?/with-chrono",
|
|
]
|
|
with-ipnetwork = [
|
|
"ipnetwork",
|
|
"sea-query/with-ipnetwork",
|
|
"sea-query-sqlx?/with-ipnetwork",
|
|
]
|
|
with-json = [
|
|
"dep:serde",
|
|
"serde_json",
|
|
"sea-query/with-json",
|
|
"sea-orm-macros/with-json",
|
|
"chrono?/serde",
|
|
"rust_decimal?/serde",
|
|
"bigdecimal?/serde",
|
|
"uuid?/serde",
|
|
"time?/serde",
|
|
"mac_address?/serde",
|
|
"pgvector?/serde",
|
|
"sea-query-sqlx?/with-json",
|
|
]
|
|
with-mac_address = [
|
|
"mac_address",
|
|
"sea-query/with-mac_address",
|
|
"sea-query-sqlx?/with-mac_address",
|
|
]
|
|
with-rust_decimal = [
|
|
"rust_decimal",
|
|
"sea-query/with-rust_decimal",
|
|
"sea-query-sqlx?/with-rust_decimal",
|
|
"sea-orm-arrow?/with-rust_decimal",
|
|
]
|
|
with-time = [
|
|
"time",
|
|
"sea-query/with-time",
|
|
"sea-query-sqlx?/with-time",
|
|
"sea-orm-arrow?/with-time",
|
|
]
|
|
with-uuid = ["uuid", "sea-query/with-uuid", "sea-query-sqlx?/with-uuid"]
|
|
|
|
# This allows us to develop using a local version of sea-query
|
|
[patch.crates-io]
|
|
# sea-query = { path = "../sea-query" }
|
|
# sea-query = { git = "https://github.com/SeaQL/sea-query", branch = "master" }
|