I’ve been able to import all of the data from the baserow.io hosted instance onto my self-hosted solution, but noticed the DB ID and table ID’s have all changed. Is there something I can do to ‘match’ them with the IDs that were set on baserow.io?
Hey @dog87
Unfortunately there is no automated way to match new IDs
When you import data into your self-hosted Baserow instance, the database IDs and table IDs are intentionally reassigned. This is done for two key reasons:
- Consistency: If a user imports the same workspace multiple times (e.g., by mistake or intentionally to create a duplicate), reusing existing IDs from the exported data would create conflicts. Assigning new IDs ensures each import remains independent and consistent without affecting existing or future imports.
- Safety: Using existing IDs from the exported data risks overwriting or corrupting the current data in your self-hosted instance. By generating new IDs, we protect the integrity of your database and prevent accidental data loss or corruption.
Thank you for that response.
Is there a non-automated way to overwrite these IDs?
If you know how those IDs are changed and you have access to database/postgres instance you could try with db_dump
to create sql
file. Then update schema in that file and load it.
I’m having exactly the same problem: I moved from SaaS to local and now all my API calls go into nowhere… could you elaborate on your approach perhaps? Thanks!
Hi!
As @Przemek wrote above, migrating data between instances will result in ID changes. There is no way to preserve ID values in that process.
If you can, you should update your integrations to use new ID values.
The other way is to prepare ID mappings for your databases/tables between you SaaS workspace and your local instance, then dump your local Baserow database to a sql file, update it using that mapping (update IDs in internal Baserow structure and table names), and restore it. But I wouldn’t recommend this way, because it’s easy to break the dump.