Supabackup is a node package, that allows you to easily perform your supabase backup (restore) operations for free.
This package creates a backup of your given database tables.
The backup is stored on your supabase storage. (in json format)
You can add this on your administration interface to add backup feature.
Make sure you have Node, Npm already installed in your system. you can check if Node, Npm available in your system by running below command,
node -v
npm -v
If it's not installed in your system then please install them by checking official documentation of,
After that, Install Package with below command :
npm install supabackup
You can initialize a new Supabackup client using the initializeClient() method. It's allow you to configure your backup.
-
supabaseUrl
required
string
The unique Supabase URL which is supplied when you create a new project in your project dashboard.
-
supabaseServiceKey
required
string
You can find the SERVICE_KEY on :
Setings > (project setings) API >
service_role
secret
click onreveal
and copy the key
import { initializeClient } from 'supabackup'
// Create a single supabase client for interacting with your database
const supabackup = initializeClient('https://xyzcompany.supabase.co', 'service-key')
You can make a new backup of your database using the backup() method.
- supabackupClient
required
create with
initializeClient()
- bucket
string
required
name that you give to your bucket (storage container)
- tables
required
array(string)
array of tables that you want to backup
import { initializeClient, backup } from 'supabackup'
// Create a single supabase client for interacting with your database
const supabackup = initializeClient('https://xyzcompany.supabase.co', 'service-key')
// Backup the given tables (chat, user) on the bucket (Backup Chat)
backup(supabackup, "Backup Chat", ['user', 'chat']);
You can found the backup : storage > Backup Chat > Backup [Date]
You can your database using the restore() method.
- supabackupClient
required
create with
initializeClient()
- bucket
string
required
name that you give to your bucket (storage container)
- folder
string
required
backup folder name that you can find in your bucket example : "Backup [Date backup]"
- tables
required
array(string)
array of tables that you want to backup
import { initializeClient, restore } from 'supabackup'
// Create a single supabase client for interacting with your database
const supabackup = initializeClient('https://xyzcompany.supabase.co', 'service-key')
// Restore the given tables (chat, user) on the database
restore(
supabackup,
"Backup",
'Backup 2022-01-30T13:48:12.589Z',
['user', 'chat']
);
Bug reports and Pull Requests are welcome ππ½
You can tell me on issues
This project is under MIT License.