Export & import storage archive (#726)

* core: import and export of chat archive

* export chat archive

* import archive, support starting chat after it is stopped

* test for maintenance mode

* test/fix archive with files

* prevent starting chat after chat database was deleted or imported

* update simplexmq
This commit is contained in:
Evgeny Poberezkin authored and GitHub committed 2022-06-06 16:23:47 +01:00
1 parent 7590502f29
commit f341e54128
16 files changed
+337 -47

No files matched your search

+25
View File
@@ -0,0 +1,25 @@
# Portable archive file format
## Problems
- database migration for notifications support
- export and import of the database
The first problem could have been solved in an ad hoc way, but it may cause data loss, so the proposal is to have migration performed via export/import steps.
Out of scope of this doc - what will be the UX for database migration. It may be fully automatic, via code, with zero user interactions, or it could be via step by step wizard - irrespective of this choice it would include export and import steps.
# Proposal
Implement creating archive file and restoring from the archive in Haskell, application would only provide a source and target folders, respectively
Archive files structure:
- simplex_v1_chat.db
- simplex_v1_agent.db
- simplex_v1_files
- ...
Archive file name (includes UTC time):
simplex-chat.YYYY-MM-DDTHH:MM:SSZ.zip