Netlify Preview Database Plugin
Create an isolated preview database for each preview deployment in Netlify
Quickstart • Website • Docs • Discord • Twitter
This plugin gives you a new and isolated database for your preview deployments in Netlify. When a pull-request is created, a new database is created and seeded with a Snaplet snapshot. Giving you a database (with data) to test your branch without side-effects.
Usage
1. Install the plugin
- UI Installation (UI installation will run on all deploy contexts, but this plugin will only run where the context is set to
deploy-preview
). - File-based installation. Install the
@snaplet/netlify-plugin
npm package, by adding it as a dependency to your project.
2. Configure settings in your project repo
# netlify.toml
[[plugins]]
package = "@snaplet/netlify-preview-database-plugin"
[plugins.inputs]
databaseEnvVar = "DATABASE_URL"
databaseCreateCommand = "snaplet db create --git --latest"
databaseUrlCommand = "snaplet db url --git"
reset = false
Note: We check the deploy context associated with the build. You can configure your settings by deploy context.
Inputs (All inputs are optional)
- name: databaseEnvVar
description: Database environment variable name
- name: databaseCreateCommand
description: Command used to generate the instant database
- name: databaseUrlCommand
description: Command used to get the instant database url
- name: reset
description: Reset the database state on each commit
3. Set environment variables
- In the Dashboard. Navigate to your site then
Site settings
>Environment Variables
. SelectSpecific scopes
and pick theBuild
option. - Using build environments, you can define them in your project.
# netlify.toml
[[plugins]]
# ...
[context.deploy-preview.environment]
SNAPLET_ACCESS_TOKEN="<YOUR_SNAPLET_ACCESS_TOKEN>"
Required Environment variables
NETLIFY_ACCESS_TOKEN=// API Access token found in Netlify user settings.
NETLIFY_ACCOUNT_ID=// Account ID found in team settings
SNAPLET_ACCESS_TOKEN=// CLI Access token found in Snaplet UI
SNAPLET_PROJECT_ID=// Project ID found in Snaplet project settings.
How it works
Netlify + Snaplet Preview Database + Snaplet Snapshots = Love.
Combining preview databases with Snaplet snapshots and Netlify preview deployments gives your team a consistent experience to evaluate your deployment's Environment Variables.
Each commit triggers a build in Netlify. Before the build starts, the plugin will create an instant database using your latest snapshot. Once the create command is done, we will inject the URL returned, into the environment variable, linked to your database (By default this variable is DATABASE_URL
).
Once the pre-build step is executed successfully, your build will continue and a site will be deployed with the preview database.
Additional resources
https://docs.netlify.com/integrations/build-plugins/#manage-plugin-versions