honorableCon / supabackup

Supabackup is a node package, that allows you to easily perform your supabase backup operations for free. This package creates a backup of your given database tables.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SUPABACKUP

Made-In-Senegal

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.


Getting Started

Installation πŸ“₯

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

Usage βœ…

Initializing

You can initialize a new Supabackup client using the initializeClient() method. It's allow you to configure your backup.

Parameters

  1. supabaseUrl required string

    The unique Supabase URL which is supplied when you create a new project in your project dashboard.

  2. supabaseServiceKey required string

    You can find the SERVICE_KEY on :

    Setings > (project setings) API > service_role secret click on reveal and copy the key

Example πŸ’›

initializeClient()

import { initializeClient } from 'supabackup'

// Create a single supabase client for interacting with your database 
const supabackup = initializeClient('https://xyzcompany.supabase.co', 'service-key')

Backing up

You can make a new backup of your database using the backup() method.

Parameters

  1. supabackupClient required

    create with initializeClient()

  2. bucket string required

    name that you give to your bucket (storage container)

  3. tables required array(string)

    array of tables that you want to backup

Example πŸ’›

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]


Restoring

You can your database using the restore() method.

Parameters

  1. supabackupClient required

    create with initializeClient()

  2. bucket string required

    name that you give to your bucket (storage container)

  3. folder string required

    backup folder name that you can find in your bucket example : "Backup [Date backup]"

  4. tables required array(string)

    array of tables that you want to backup

Example πŸ’›

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']
);

Contributing 🀝

Bug reports and Pull Requests are welcome πŸ‘‹πŸ½
You can tell me on issues

License πŸ”–

This project is under MIT License.

About

Supabackup is a node package, that allows you to easily perform your supabase backup operations for free. This package creates a backup of your given database tables.


Languages

Language:JavaScript 100.0%