Export a database from the SaaS (and import it for another workspace or account)

Baserow is a great platform.

But one of my frustrations from time to time is that it is not possible to create a template database and pass it to other users. A scenario that is very common when using Baserow to teach database and API basics.

Luckily, Baserow is a great platform with a well-documented API that makes almost everything possible.

So, I started this weekend project and created an automation with n8n that makes it possible to export an entire database with structure, views and data from the SaaS platform in a JSON format. The front-end was build with Appsmith.

You can test it here.

  • Step 1: click the Authenticate Baserow account button and fill in your credentials to get an access token. You can also generate a token yourself and paste it in the textfield if you do not like to enter your credentials in an external tool (I do not save any data)
  • Step 2: select the database from the list
  • Step 3: click the export button and the download starts once the automation has completed.

Next step is to implement the import process. At this moment, I can already create a new database and the tables, but I am having some problems with creating the fields since Baserow automatically creates 3 fields when generating a new table. So, I need some time to figure this out. I also expect that linked records will cause some challenges, but I feel pretty confident it will work in the end.

I like to keep this project open source:

2 Likes

This is really great work :clap:

1 Like

Would there be (exist) some tutorial or tool for us (non-technical people) to export (and later import again) the whole baserow database self-hosted in a Synology NAS docker?

Great work @frederikdc ! I like how you’ve implemented the auth with different options for the JWT.

Update: you should be able to import the data structure and data from an exported database.

The views are a work in progress