[workspace] members = [ ".", "sqlx-core", "sqlx-rt", "sqlx-macros", "sqlx-test", "sqlx-cli", "sqlx-bench", "examples/mysql/todos", "examples/postgres/listen", "examples/postgres/todos", "examples/sqlite/todos", ] [package] name = "sqlx" version = "0.4.0-beta.1" license = "MIT OR Apache-2.0" readme = "README.md" repository = "https://github.com/launchbadge/sqlx" documentation = "https://docs.rs/sqlx" description = "🧰 The Rust SQL Toolkit. An async, pure Rust SQL crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, and SQLite." edition = "2018" keywords = [ "database", "async", "postgres", "mysql", "sqlite" ] categories = [ "database", "asynchronous" ] authors = [ "Ryan Leckey ", # ryan@launchbadge.com "Austin Bonander ", # austin@launchbadge.com "Chloe Ross ", # chloe@launchbadge.com "Daniel Akhterov ", # daniel@launchbadge.com ] [package.metadata.docs.rs] features = [ "all" ] rustdoc-args = ["--cfg", "docsrs"] [features] default = [ "macros", "runtime-async-std", "migrate" ] macros = [ "sqlx-macros" ] migrate = [ "sqlx-macros/migrate", "sqlx-core/migrate" ] # [deprecated] TLS is not possible to disable due to it being conditional on multiple features # Hopefully Cargo can handle this in the future tls = [ ] # offline building support in `sqlx-macros` offline = [ "sqlx-macros/offline", "sqlx-core/offline" ] # intended mainly for CI and docs all = [ "tls", "all-databases", "all-types" ] all-databases = [ "mysql", "sqlite", "postgres", "mssql", "any" ] all-types = [ "bigdecimal", "decimal", "json", "time", "chrono", "ipnetwork", "uuid", "bit-vec" ] # runtime runtime-async-std = [ "sqlx-core/runtime-async-std", "sqlx-macros/runtime-async-std" ] runtime-actix = [ "sqlx-core/runtime-actix", "sqlx-macros/runtime-actix" ] runtime-tokio = [ "sqlx-core/runtime-tokio", "sqlx-macros/runtime-tokio" ] # database any = [ "sqlx-core/any" ] postgres = [ "sqlx-core/postgres", "sqlx-macros/postgres" ] mysql = [ "sqlx-core/mysql", "sqlx-macros/mysql" ] sqlite = [ "sqlx-core/sqlite", "sqlx-macros/sqlite" ] mssql = [ "sqlx-core/mssql", "sqlx-macros/mssql" ] # types bigdecimal = [ "sqlx-core/bigdecimal", "sqlx-macros/bigdecimal" ] decimal = [ "sqlx-core/decimal", "sqlx-macros/decimal" ] chrono = [ "sqlx-core/chrono", "sqlx-macros/chrono" ] ipnetwork = [ "sqlx-core/ipnetwork", "sqlx-macros/ipnetwork" ] uuid = [ "sqlx-core/uuid", "sqlx-macros/uuid" ] json = [ "sqlx-core/json", "sqlx-macros/json" ] time = [ "sqlx-core/time", "sqlx-macros/time" ] bit-vec = [ "sqlx-core/bit-vec", "sqlx-macros/bit-vec"] [dependencies] sqlx-core = { version = "=0.4.0-beta.1", path = "sqlx-core", default-features = false } sqlx-macros = { version = "=0.4.0-beta.1", path = "sqlx-macros", default-features = false, optional = true } [dev-dependencies] anyhow = "1.0.31" time_ = { version = "0.2.16", package = "time" } futures = "0.3.5" env_logger = "0.7.1" async-std = { version = "1.6.0", features = [ "attributes" ] } tokio = { version = "0.2.21", features = [ "full" ] } dotenv = "0.15.0" trybuild = "1.0.24" sqlx-rt = { path = "./sqlx-rt" } sqlx-test = { path = "./sqlx-test" } paste = "1.0.1" serde = { version = "1.0.111", features = [ "derive" ] } serde_json = "1.0.53" url = "2.1.1" # # Any # [[test]] name = "any" path = "tests/any/any.rs" required-features = [ "any" ] [[test]] name = "any-pool" path = "tests/any/pool.rs" required-features = [ "any" ] # # Migrations # [[test]] name = "migrate-macro" path = "tests/migrate/macro.rs" required-features = [ "macros", "migrate" ] # # SQLite # [[test]] name = "sqlite" path = "tests/sqlite/sqlite.rs" required-features = [ "sqlite" ] [[test]] name = "sqlite-types" path = "tests/sqlite/types.rs" required-features = [ "sqlite" ] [[test]] name = "sqlite-describe" path = "tests/sqlite/describe.rs" required-features = [ "sqlite" ] [[test]] name = "sqlite-macros" path = "tests/sqlite/macros.rs" required-features = [ "sqlite", "macros" ] # # MySQL # [[test]] name = "mysql" path = "tests/mysql/mysql.rs" required-features = [ "mysql" ] [[test]] name = "mysql-types" path = "tests/mysql/types.rs" required-features = [ "mysql" ] [[test]] name = "mysql-describe" path = "tests/mysql/describe.rs" required-features = [ "mysql" ] [[test]] name = "mysql-macros" path = "tests/mysql/macros.rs" required-features = [ "mysql", "macros" ] # # PostgreSQL # [[test]] name = "postgres" path = "tests/postgres/postgres.rs" required-features = [ "postgres" ] [[test]] name = "postgres-types" path = "tests/postgres/types.rs" required-features = [ "postgres" ] [[test]] name = "postgres-describe" path = "tests/postgres/describe.rs" required-features = [ "postgres" ] [[test]] name = "postgres-macros" path = "tests/postgres/macros.rs" required-features = [ "postgres", "macros" ] [[test]] name = "postgres-derives" path = "tests/postgres/derives.rs" required-features = [ "postgres", "macros" ] # # Microsoft SQL Server (MSSQL) # [[test]] name = "mssql" path = "tests/mssql/mssql.rs" required-features = [ "mssql" ] [[test]] name = "mssql-types" path = "tests/mssql/types.rs" required-features = [ "mssql" ] [[test]] name = "mssql-describe" path = "tests/mssql/describe.rs" required-features = [ "mssql" ] [[test]] name = "mssql-macros" path = "tests/mssql/macros.rs" required-features = [ "mssql", "macros" ]