Database & Async Runtime
First, add sea-orm
to the [dependencies]
section of your Cargo.toml
.
Cargo.toml
sea-orm = { version = "^0", features = [ <DATABASE_DRIVER>, <ASYNC_RUNTIME>, "macros" ] }
You must choose a DATABASE_DRIVER
and an ASYNC_RUNTIME
. macros
is needed if you use SeaORM's generated entities (most likely).
DATABASE_DRIVER
You can choose one or more from:
sqlx-mysql
- SQLx MySQL and MariaDBsqlx-postgres
- SQLx PostgreSQLsqlx-sqlite
- SQLx SQLite
See also: SQLx docs.
ASYNC_RUNTIME
You have to choose one from:
runtime-actix-native-tls
, runtime-async-std-native-tls
, runtime-tokio-native-tls
, runtime-actix-rustls
, runtime-async-std-rustls
, runtime-tokio-rustls
Basically, they are in the form of runtime-ASYNC_RUNTIME-TLS_LIB
:
ASYNC_RUNTIME
can beactix
,async-std
, ortokio
TLS_LIB
can either benative-tls
orrustls
- Choose the ASYNC_RUNTIME corresponding to your Rust web framework:
ASYNC_RUNTIME | Web Framework |
---|---|
actix | Actix |
async-std | Tide |
tokio | Axum , Rocket , Poem |
native-tls
uses the platform's native security facilities, whilerustls
is a pure Rust implementation.
Extra features
debug-print
- print every SQL statement to logger
mock
- mock interface for unit testing