sea-orm-ffi 0.1.1

Compatibility layer for Sea-ORM when crossing a Rust-to-Rust FFI boundary
Documentation
[workspace]
resolver = "3"
members = [".", "benchmark/*"]

[workspace.dependencies]
async-compat = "0.2.5"
async-ffi = "0.5"
sea-orm = { version = "1.1", default-features = false }
sea-orm-ffi = { version = "0.1", path = "." }

[package]
name = "sea-orm-ffi"
version = "0.1.1"
edition = "2021"
description = "Compatibility layer for Sea-ORM when crossing a Rust-to-Rust FFI boundary"
repository = "https://codeberg.org/proto-x/sea-orm-ffi"
license = "EUPL-1.2"
categories = ["database"]
keywords = ["async", "ffi", "orm", "plugin"]
include = ["LICENSE", "README.md", "src/**/*.rs"]

[workspace.lints.rust]
elided_lifetimes_in_paths = "forbid"
improper_ctypes_definitions = "deny"
type_alias_bounds = "allow"
unreachable_pub = "warn"

[workspace.lints.clippy]
# wrong (read: opinionated) style choices
doc_lazy_continuation = "allow"
manual_is_multiple_of = "allow"
manual_range_contains = "allow"
tabs_in_doc_comments = "allow"

[lints]
workspace = true

[dependencies]
async-compat.workspace = true
async-ffi.workspace = true
async-trait = "0.1.89"
futures-util = "0.3.32"
paste = "1.0.15"
refinery-core = { version = "0.9", optional = true }
sea-orm = { workspace = true, features = ["proxy", "runtime-tokio"], default-features = false }
time = { version = "0.3.41", optional = true }
uuid = { version = "1.22", optional = true }

# sea-orm disables default features of serde_json and forgets to re-enable std
serde_json = { version = "1.0", features = ["std"], default-features = false }

[dev-dependencies]
anyhow = "1.0.101"
fake = "4.4"
log = "0.4"
macro_rules_attribute = "0.2.2"
sea-orm = { workspace = true, features = ["macros", "sqlx-postgres"], default-features = false }
simple_logger = { version = "5.2", features = ["stderr"] }
smol = "2.0"
smol-macros = "0.1.1"

[features]
## Add implementation of refinery's AsyncMigrate for FfiConnection.
refinery = ["dep:refinery-core", "with-time"]
## Support bridging `time`-based types through the FFI boundary.
with-time = ["dep:time", "sea-orm/with-time"]
## Support bridging `uuid` through the FFI boundary.
with-uuid = ["dep:uuid", "sea-orm/with-uuid"]

[profile.release]
debug = true
lto = true

[patch.crates-io]
# https://github.com/SeaQL/sea-orm/pull/3000
# https://github.com/SeaQL/sea-orm/pull/3005
sea-orm = { git = "https://github.com/msrd0/sea-orm", rev = "52e903242a81bd91e80b26f07b3286a51b7e0400" }