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.
| Keys | Description | Aliases |
|---|
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