SurrealDB
SurrealDB Docs Logo

Enter a search query

Connection Strings

Connection Strings are an easy way to configure your application to connect to a SurrealDB instance. They are stored in the appsettings.json file and can be used to configure the SurrealDbClient.

In general, it is known as a best practice to:

  • set a development Connection String in appsettings.Development.json,
  • store your production Connection String in a Secret environment variable, or even better in a Vault.
KeysDescriptionAliases
Endpoint required

The database endpoint to connect to.
The disctinction between Server and Client can help you ensure you only call a distant database (server mode) or a local database (client mode).

ServerClient
Namespace optional

Switches to a specific namespace.

NS
Database optional

Switches to a specific database.

DB
Username optional

Username used to have root access.

User
Password optional

Password used to have root access.

Pass
Token optional

Token (JWT) used to have user access.

NamingPolicy optional

Naming policy used to interact with the database.
Valid options are CamelCase, SnakeCaseLower, SnakeCaseUpper, KebabCaseLower and KebabCaseUpper.

AuthLevel optional

Auth level when connecting to the SurrealDB instance.
Valid options are Root, Namespace or Database.
Defaults to Root.

Examples

Here is a couple of examples of Connection Strings:

Server=http://127.0.0.1:8000;Namespace=test;Database=test;Username=root;Password=root
Endpoint=http://127.0.0.1:8000;NS=test;DB=test;User=root;Pass=root
Endpoint=http://127.0.0.1:8000;NS=test;DB=test;User=root;Pass=root;NamingPolicy=SnakeCaseLower
Server=ws://127.0.0.1:8000;AuthLevel=Namespace;NS=test;DB=test;User=root;Pass=root
Client=mem://;Namespace=test;Database=test
Edit this page on GitHub