appwrite / appwrite/appwrite

🚀 Feature: Self-hosted | version-agnostic migrations and auto DB backup

Open
#7,830 1 comment 4 reactions 0 assignees View on GitHub
enhancement product / migrations
Dominant language
TypeScript
Stars
57.4k
Forks
5.7k
Avg merge
14h 50m
Merged PRs (30d)
276

Description

### 🔖 Feature description

Adding a few flags to Appwrite [migrate](https://github.com/appwrite/appwrite/blob/main/bin/migrate) CLI runner.

- `--from-version` - set the version in which you've upgraded, the migration will start from that one.
- `--backup-db` - Dump the current DB into an SQL file before migrating.

When someone is upgrading from version `1.0.0` to version `1.3` for example the command would be
```shell
docker exec appwrite migrate --from-version=1.0 --backup-db
```

The `from-version` flag would work something like this
```mermaid

flowchart
migrate[docker exec appwrite migrate] --> v1[--from-version=1.0] --> V15
migrate --> v2[--from-version=1.1] --> V16
migrate --> v3[--from-version=1.2]--> V17
migrate --> V18

V15(V15.php) -.then.-> V16(V16.php)
V16 -.then.-> V17(V17.php)
V17 -.then.-> V18(V18.php)
V18 --> Done
```

### 🎤 Pitch

Easy upgrade while adding a backup for safety.

### 👀 Have you spent some time to check if this issue has been raised before?

- [X] I checked and didn't find similar issue

### 🏢 Have you read the Code of Conduct?

- [X] I have read the [Code of Conduct](https://github.com/appwrite/.github/blob/main/CODE_OF_CONDUCT.md)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.