
Hi all! I’m setting up a clean workflow for incremental database changes in an Appwrite project. I have experience with Payload CMS, where changing collections/fields auto-generates migration files that we commit and run per environment. I couldn’t find a definitive Appwrite guide for this, so I’d love to hear how you handle it in practice.
Context Environments: dev → staging → prod (separate Appwrite projects). First deploy is easy enough with the CLI. After that, I want a reliable, incremental migration + seed flow.
Questions
Migrations: Do you rely on appwrite push
for changes, or do you run code-first scripts with the server SDK (via CI or an admin Function)? Any gotchas with CLI diffs on attributes/indexes?
Promotion: How do you promote the same change through dev (local docker container) → staging (cloud hosted) → prod (tags, versioned scripts, Git-driven CI)?
**Expand/contract changes: **For renames/type changes, do you add new fields, backfill, then drop old later? How do you handle backfills safely at scale?
**Seeding static data: **Do you keep idempotent seed scripts (upserts) you can re-run anytime? Where do you store/run them?
Tracking: Do you keep a “migrations” collection to record which scripts ran, or another pattern?
**Rollbacks & backups: **What’s your rollback story and backup step before running migrations?
**Examples: **Any public repos, gists, or blog posts you recommend?
Thanks! If there’s an established pattern, I’ll summarize it here for others.
Recommended threads
- Resource limit
I am getting resource limit errors even tho i didnt exceeded
- Suggested docker-compose.yml uses known-...
The version of `docker-compose.yml` in the self-hosted instructions uses the image `appwrite/console:6.0.13` for the `appwrite-console` container. This version ...
- Asynchronous Function Execution via Func...
Hi everyone, Is there a way to call a function via its function domain URL with async execution set to true?
