Hey team — wanted to flag a bug I hit migrating from Appwrite Cloud (FRA region, legacy DB) to self-hosted 1.9.0. It fails silently with no useful log/UI feedback so it's easy to miss. Patch inline.
Worth noting upfront: I kept the same project ID on both the Cloud project and the new self-hosted project (so any data referencing my user ID and other resource IDs would resolve cleanly).
Migration completes in <1s with statusCounters={} and errors=[] — but 0 databases come through, even though Users/Files/Functions/Messages all migrate fine.
Root cause: Migrations.php:243 hardcodes SourceAppwrite::SOURCE_DATABASE which makes the source's database reader read from the LOCAL project DB (via $projectDB) instead of via the Cloud API. Because I kept the same project ID, the local lookup hits my freshly-created self-hosted project — which is empty for databases — so the reader correctly returns 0 rows from the local DB and the migration finishes "successfully" with nothing transferred.
Users/messages/etc. don't go through the reader (they use SDK clients bound to the Cloud endpoint), which is why they migrate fine — and why this bug is database-specific and very confusing.
Fix in src/Appwrite/Platform/Workers/Migrations.php:
- SourceAppwrite::SOURCE_DATABASE,
+ SourceAppwrite::SOURCE_API,
After applying this, my migration succeeded cleanly: 1 database / 3 tables / 21 columns / 1223 rows, 0 errors.
Thanks for Appwrite guys !
Recommended threads
- Api Key No Scopes Webhook
why scopes in self hosted missing but in cloud is available?
- Realtime queries - do they work on respo...
The current Realtime Queries docs are not very clear on the subject - when using queries to filter the subscription results, can we query on the `response.event...
- Realtime api and labels as permission
in my tables i set labels as permission and real-time capabilities stopped working. Before when i was having "any" role everything was working. Note: user have...