[workspace]
resolver = "2"
members = [
".",
"sqlite-watcher",
]
[package]
name = "database-replicator"
version = "7.2.2"
edition = "2021"
license = "Apache-2.0"
description = "Universal database-to-PostgreSQL replication CLI. Supports PostgreSQL, SQLite, MongoDB, and MySQL."
repository = "https://github.com/serenorg/database-replicator"
homepage = "https://github.com/serenorg/database-replicator"
documentation = "https://github.com/serenorg/database-replicator#readme"
readme = "README.md"
keywords = ["postgresql", "replication", "database", "migration", "cdc"]
categories = ["command-line-utilities", "database"]
[dependencies]
tokio = { version = "1.35", features = ["full"] }
tokio-postgres = { version = "0.7", features = ["with-serde_json-1", "with-chrono-0_4", "with-uuid-1"] }
uuid = { version = "1", features = ["v4"] }
clap = { version = "4.4", features = ["derive", "env"] }
anyhow = "1.0"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
postgres-native-tls = "0.5"
native-tls = "0.2"
tempfile = "3.8"
dialoguer = "0.11"
inquire = "0.7"
futures = "0.3"
indicatif = "0.18"
which = "6.0"
home = ">=0.5.4, <0.5.12"
rand = "0.8"
reqwest = { version = "0.11", default-features = false, features = ["json", "native-tls"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
sha2 = "0.10"
toml = "0.8"
rusqlite = "0.30"
base64 = "0.21"
mongodb = "3.4"
bson = "2.9"
mysql_async = "0.36"
dirs = "5.0"
url = "2.5"
chrono = { version = "0.4", default-features = false, features = ["clock", "serde"] }
libc = "0.2"
rust_decimal = { version = "1.39", default-features = false, features = ["db-tokio-postgres", "serde", "std"] }
tonic = { version = "0.11", features = ["transport"] }
tower = "0.4"
sqlite-watcher = { path = "sqlite-watcher", version = "0.1.0", optional = true }
[features]
default = ["sqlite-sync"]
sqlite-sync = ["sqlite-watcher"]
[patch.crates-io]
fxhash = { path = "third-party/fxhash" }
[target.'cfg(unix)'.dependencies]
daemonize = "0.5"
[[test]]
name = "fallback_test"
path = "tests/fallback_test.rs"
doc = false
[[test]]
name = "state_test"
path = "tests/state_test.rs"
doc = false
[[test]]
name = "interactive_serendb_test"
path = "tests/interactive_serendb_test.rs"
doc = false
[[test]]
name = "xmin_integration_test"
path = "tests/xmin_integration_test.rs"
doc = false