Shuttle Turso
This plugin allows services to connect to a Turso database. Turso is an edge-hosted distributed database based on libSQL, a SQLite fork.
Usage
Add shuttle-turso
and libsql
to the dependencies for your service by running cargo add shuttle-turso libsql
. This resource will be provided by adding the shuttle_turso::Turso
attribute to your Shuttle main decorated function.
It returns a libsql::Database
. When running locally it will instantiate a local SQLite database of the name of your service instead of connecting to your edge database.
If you want to connect to a remote database when running locally, you can specify the local_addr
parameter. In that case, the token will be read from your Secrets.dev.toml
file.
Parameters
Parameter | Type | Default | Description |
---|---|---|---|
addr | str | "" | URL of the database to connect to. Should begin with either libsql:// or https:// . |
token | str | "" | The value of the token to authenticate against the Turso database. You can use string interpolation to read a secret from your Secret.toml file. |
local_addr | Option | None | The URL to use when running your service locally. If not provided, this will default to a local file named <service-name>.db |
Example
In the case of an Axum server, your main function will look like this:
Was this page helpful?