How I moved one large table to --> other Baserow database/application (self-hosted)

Proviso

This “solution” involves making a small database change. I absolutely don’t have my head wrapped around all of Baserow and I can’t make any warranty that this won’t break something but the fact that I could quickly fix an issue that could arise form this and the time saved and fact that “so far so good” and am publishing here in case it saves anyone else some time in a similar place.

I also believe that the fact that I am capable of making an edit to the database to piece together my own “new feature” is one reason why working with Baserow currently is superior to working with Airtable.

Issue

I had this very large table with thousands of rows and many attachments. After starting this in one database I realized it would be simpler to just merge it with another database I am working on. But based on my understanding, built-in methods for moving a table are problematic. This is my understanding:

Possible built-in solutions that are annoying/take too long …

  1. Export your data as JSON (or other formats) and then import this file in other database.
    ISSUE WITH THIS: File attachments aren’t preserved.

  2. Create a new table in the database you are moving to with all the proper fields and then manually copy and paste all the data.
    BENEFIT OF THIS: Attachments are preserved.
    ISSUES WITH THIS: Takes an incredibly long time–both the copying and pasting and having to set up a new table with all the proper recipient fields! Also chance your mess up and forget to copy and past some rows during transfer of a long set.

My hack solution

The database table called “database_table” contains all the table → database mappings and they are capable of being edited to achieve a move of a table in seconds instead of many minutes or hours, depending on size of the table via the other methods.
Screen Shot 2022-09-20 at 3.47.54 PM

This is certainly likely to break if you have a linked-field in your table lining to another table in this same base but if it’s a standalone table it seems to work just fine.

2 Likes

Hey @bfranklin thank you for sharing this trick!

It is correct that this can work for you, and I appreciate that you have pointed out that any relationship that table has will break if you do so.

Which is the number 1 reason why we haven’t introduced this as a feature yet.

But for a simple table with no relationship to any other table. I can see this trick working :slight_smile:

2 Likes

Great. Good to have some endorsement that this method seems relatively safe from someone even closer to the product.

1 Like