Follow us
Breaking
Tech Services

Common mistakes with Appwrite 1.15 migration and management

Appwrite migrations can cause significant downtime for databases with 30 million records due to schema iteration requirements. Developers also face Google Sign-In redirect loops in Flutter SDK v15.0.1 and must manage subscription tiers manually using the teams service.

Share

Appwrite migrations require downtime because the platform must iterate over every document to update the database schema and document structures. When a team manages a database with 30 million records, the migration process can take multiple days because Appwrite must iterate over every single document to update the schema and the document contents. This requirement creates friction for teams that need to maintain continuous availability for their users. Appwrite developers have noted that such long migration times are extreme for scheduled downtime. While some users use PowerShell scripts to export data into JSON format to ensure it remains readable and storable in Git, these workarounds do not eliminate the necessary downtime. The migration procedure is a complex process and carries the risk of inconsistent data if developers do not handle it properly. The development team is working on a pull request, #5876, to mitigate these migration delays. Some developers propose using a load balancer to create a copy of the instance, migrate the data, and then use functions to sync the newest data to avoid disruption. This differs from Supabase, which uses Git-integrated branching to provision new databases and replay migrations. Appwrite relies on MariaDB for its internal document storage, whereas Supabase uses a dedicated PostgreSQL instance and Firebase uses a NoSQL document-based Firestore database.

Authentication Loops and Team Management

Appwrite developers using the Flutter SDK v15.0.1 experience a Google Sign-In redirect loop. The createOAuth2Session method opens the account selection screen, but the application returns the user to that same screen instead of completing the login process. This loop persists even when the Appwrite Auth system successfully creates a new entry for the user. You should check the AndroidManifest.xml file, remove the app_links dependency, and delete the line containing await _checkSessions() to fix this error. Beyond authentication issues, teams requiring subscription plans must use the teams service or user preferences because Appwrite lacks native support for plan-based feature access. The teams service allows owners to manage different roles and restrict permissions by user ID, team membership, or team role. This distinction between teams and groups is important for developers who need to distinguish between administrative users and end-user subscription tiers. Each user who creates a team becomes the team owner and can delegate the ownership role by inviting new team members. Members can also decline invitations sent by owners. Owners can also use server integration to send a new invite to any user they wish. This allows users to share read and write access to project resources like database documents or storage files. Users can also save their user preferences using the preferences endpoint to manage key-value data. Will Appwrite eventually implement native support for user groups that function like LDAP or Active Directory?

Pricing Scales and Deployment Realities

Pricing models for these platforms change how teams budget for growth. Appwrite Pro costs $25 per month and provides 200,000 monthly active users, 150 GB of storage, and 2 TB of bandwidth. Supabase Pro also costs $25 per month but includes 100,000 monthly active users and 8 GB of database. Supabase Pro also provides 250 GB of bandwidth and 100,000 monthly active users. Firebase uses a model where costs scale with user activity because the platform charges for every individual database read and write. A single inefficient query can multiply a Firebase bill because the pricing relies on the number of operations. Firebase also lacks a method to migrate data to other platforms and does not promise to maintain 99.95% uptime. Both Appwrite and Supabase pause free projects after a week of inactivity. Appwrite Free provides 75,000 monthly active users and 750,000 function executions with 2 GB of storage, while the Firebase Spark plan limits users to 50,000 reads and 20,000 writes or deletes per day with 10 GiB of egress. Appwrite’s pricing is predictable because it uses a per-project model. For example, the Pro plan is $25 per month, and additional projects cost $15 each. This makes it easier to forecast costs compared to Firebase, where a single user reading a feed 50 times a day costs more than a user reading it once. For higher scale, Appwrite provides a Scale plan at $599 per month, while Supabase provides a Team tier at $599 per month. Firebase includes Cloud Functions tied to Google Cloud, but these can be frustrating to debug or locally emulate. Appwrite’s Cloud version is in a beta program, which may provide easier solutions for those who do not want to handle infrastructure tasks.

Share

Technewsdaily

Senior tech writer covering AI, gadgets and cybersecurity. Breaking down the news that matters, every day.