Prepare for the PgBouncer and IPv4 deprecations on 26th January 2024

Home

Testing Your Database

You can use the Supabase CLI to test your database. The minimum required version of the CLI is v1.11.4. To get started:

Creating a test

Create a tests folder inside the supabase folder:


_10
mkdir -p ./supabase/tests/database

Create a new file with the .sql extension which will contain the test.


_10
touch ./supabase/tests/database/hello_world.test.sql

Writing tests

All sql files use pgTAP as the test runner.

Let's write a simple test to check that our auth.users table has an ID column. Open hello_world.test.sql and add the following code:


_12
begin;
_12
select plan(1); -- only one statement to run
_12
_12
SELECT has_column(
_12
'auth',
_12
'users',
_12
'id',
_12
'id should exist'
_12
);
_12
_12
select * from finish();
_12
rollback;

Running tests

To run the test, you can use:


_10
supabase test db

This will produce the following output:


_10
$ supabase test db
_10
supabase/tests/database/hello_world.test.sql .. ok
_10
All tests successful.
_10
Files=1, Tests=1, 1 wallclock secs ( 0.01 usr 0.00 sys + 0.04 cusr 0.02 csys = 0.07 CPU)
_10
Result: PASS

More resources