Backing up and Restoring your App
Tadabase maintains backups of your app at intervals that depend on your subscription. Backups are stored in secure S3 buckets away from the primary infrastructure.
Here's some key things to know about backups:
- Backups include all your app data tables, pages, layouts, users, roles, automations, pipes, data bridges, and other app configurations.
- General app settings like domain configurations and custom header code are stored separately. A backup and restore won't affect these settings.
- Log data (activity logs, API logs, webhook logs, etc.) can be optionally included in backups depending on your settings. By default, logs are not included to keep backup sizes manageable. When restoring an app, existing logs are preserved and not overwritten.
- Backups are stored both locally and in secure S3 cloud storage for redundancy.
- Automated backups run based on your subscription plan's schedule (e.g., every 24 hours for active apps).
- You will receive email notifications when backups and restores are completed.
Backup Types
Tadabase offers different types of restore operations:
- Standard Restore: Replaces your current app data with the backup. This is a destructive operation and cannot be undone.
- Staged Restore (Temporary Restore): Allows you to test a backup in an isolated environment before activating it. This is a safe, non-destructive way to preview your data without affecting your live app.
Viewing your backups
You can view the backups of your app by navigating to Settings > Logs > Backups. The backups page displays:
- Who created the backup (user name)
- Start and end timestamps
- Backup status (Starting, Done)
- Total number of tables backed up
- Available actions (Restore, Staged Restore)
You can refresh the list at any time to see the latest backups and their statuses.
Triggering a backup
This feature is not available on all plans. Please see your specific plan details to see if this is available for your subscription.
To trigger a manual backup, click the "Create New Backup" button and a backup will be initiated behind the scenes. The backup usually takes between 1 to 10 minutes depending on the size of your app. You will see a record in the backups table when the backup is finalized, and you'll receive an email notification upon completion.
During the backup process:
- A complete snapshot of your app data is created using MySQL dump
- The backup is compressed and stored locally first
- Then automatically uploaded to secure S3 cloud storage
- Metadata including table count, file size, and timing information is recorded
- The status updates from "Starting" to "Done" when complete
Restoring a backup (Standard Restore)
This feature is not available on all plans. Please see your specific plan details to see if this is available for your subscription.
Important: Standard restore is a destructive operation. It will completely replace your current app data with the backup data. This action cannot be undone. We strongly recommend creating a fresh backup before performing a restore.
To restore a backup, click the "Restore" button next to the desired backup and wait for the process to complete. Upon completion you will see a record in the Restores section letting you know the restore has been successful, and you'll receive an email notification.
The restore process typically takes 1-10 minutes. During the restore:
- The backup file is downloaded from S3 if needed
- Your current app data is completely replaced with the backup data
- All users will see the restored data immediately
- You cannot cancel a restore once it has started
Staged Restore (Testing Backups Safely)
This feature requires both the "App Restore" and "Temporary Restore" permissions on your plan. A temporary database must also be configured for your account.
Staged Restore allows you to test a backup in an isolated environment before making it live. This is perfect for:
- Previewing old data before deciding to restore
- Testing how your app looked at a previous point in time
- Verifying a backup contains the data you need
- Safely exploring without affecting your live app or users
How Staged Restore Works
The staged restore process has three phases:
Phase 1: Preparation
- Click "Staged Restore" next to any backup
- Your app structure is copied to a temporary database
- Status shows "Preparing" while the environment is set up
- When ready, status changes to "Prepared"
- You'll receive an email notification
- Your live app continues working normally during this phase
Phase 2: Activation
- Click "Activate Staged Restore" when you're ready to test
- Your app temporarily switches to the test database
- The backup data is restored to this temporary environment
- Status shows "Activating" during the process
- When complete, status changes to "Ready"
- You can now explore the restored data safely
Phase 3: Deactivation or Cancellation
- Deactivate: Click "Deactivate" to return to your live app data. The staged restore remains available for future activation.
- Cancel: Click "Cancel" during preparation to stop the process and clean up. This is only available before activation.
Staged Restore Status Indicators
While a staged restore is in progress, you'll see real-time status updates:
- Preparing: Setting up the temporary environment
- Prepared: Ready to activate (click "Activate Staged Restore")
- Moving: Copying app structure to temporary database
- Activating: Switching to temporary environment
- Restoring: Loading backup data
- Ready: Staged restore is active and you can explore the backup data
The page automatically refreshes every few seconds to show the latest status.
Important Tips for Staged Restore
- Only one staged restore can be active at a time per app
- Your live app data remains safe and unchanged during staged restore
- You can switch back to live data anytime by clicking "Deactivate"
- If you want to make the staged restore permanent, deactivate it first, then perform a standard restore of the same backup
- Staged restores automatically clean up on errors to protect your data
Backup Retention and Cleanup
Tadabase automatically manages backup retention based on your subscription plan:
- Older backups are automatically purged based on your plan's retention policy
- At least one backup is always kept for each app
- Purged backups are removed from both local storage and S3
- You can see your plan's specific retention period in your subscription details
Email Notifications
You will receive email notifications for the following events:
- When a backup is completed (includes backup ID, table count, and timing)
- When a restore is completed (includes restore details and timing)
- When a staged restore is prepared and ready to activate
- When a staged restore is ready to use
- If any errors occur during the process
What Gets Backed Up
Each backup includes the following:
- System Tables: Data tables structure, pages, layouts, objects, roles, users, automations, pipes, data bridges, embeddables, field queries, PDF layouts, user tokens, SSO providers, page components, page versions, API usage, and more
- Custom Data: All records in your custom data tables
- Relationships: Join tables and connection data between records
- Optional Logs: Activity logs, API logs, webhook logs, task logs, deleted record logs, text message logs, user login logs, and automation logs (if configured to be included)
Troubleshooting
If you encounter any issues with backups or restores:
- Check your plan limits to ensure the feature is available to you
- Verify that you have sufficient storage space
- For staged restores, ensure your temporary database is properly configured
- If a job appears stuck, contact support as queue workers may need attention
- Check the logs section for detailed error messages and timing information
For any issues or questions, please contact Tadabase support with your backup or restore ID for faster assistance.
We'd love to hear your feedback.