Mongo DB backup for each app separately

I have…

I’m submitting a…

  • Documentation issue or request

Current behavior

I have created multiple app in Squidex. I might change a data for two app A and B, if A working fine and B got some issues. I just need to restore the old data of B. How can I overcome this scenario I need to backup data for each app separately and automatically on a daily basis.

How can we backup multiple Squidex app data separately in MongoDB

Expected behavior

I need separate database backup for each app in Squidex.

Environment

App Name: A and B

Self hosted with IIS
Cloud version

Browser:
Chrome (desktop)

Hi,

Squidex is designed as a multi tenancy software without database isolation. So your scenario is not really possible. But there are three alternatives that you can consider:

  1. Squidex has an integrated backup system. You can use that to make a full backup of your app. Backups can also be triggered via the API, so you can automate that.

  2. We also provide a CLI with many useful features. Among them is the option to synchronize your Squidex app to the file system and back: Automation Tools (CLI) - Squidex. You can use that to make a backup.

  3. If you need strong isolation, I would just use second instance.

So the optimizeForSelfHosting configuration option isn’t a solution for this as there are still a bunch of shared collections used by Squidex to manage it all?

Yes. What the setting does is to create one collection per schema. This has the big advantage that you can create indexes manually and improve query performance based on your workload. But it is not a strict per app restriction.

Because some queries are query for schemas as across all schemas, the content will exist in multiple collections and therefore decreasing insert performance and increasing storage and memory usage.

1 Like

What was I need to know was, is there a way or what I have to do to backup single app data without getting the whole database backup?

Have you read my first answer? The answer is: Not using MongoDB but using one of the three solutions I described there.