Skip to main content


Bitwarden primarily stores data in MSSQL (Microsoft SQL Server). The data access layer in the Server is written using Dapper which is a lightweight object mapper for .NET.

Creating the database

See Server Setup Guide.

Updating the database

You should run the migrate.ps1 helper script whenever you sync with the master branch or create a new migration script. migrate.ps1 tracks run migrations in migrations_$DATABASENAME, which is typically migrations_vault_dev.

Modifying the database

The process for modifying the database is described in Migrations.


New database, but skipping migrations

Migration records are stored by vault database name, which is typically either vault_dev or vault_dev_self_host. If you’ve deleted these in order to start fresh, you should delete the corresponding migrations_$DATABASENAME database.