Skip to content

[Bug]: Migrate Akavache 10 → 11 #1140

@dmitriypetrukk

Description

@dmitriypetrukk

Describe the bug 🐞

Hi, I’m upgrading my MAUI application from .NET 8 → .NET 9 and Akavache 10 → 11.

According to the documentation, Akavache v11 should automatically migrate
the legacy v10 SQLite database the first time it is accessed:

https://github.com/reactiveui/Akavache/blob/main/docs/migration-v10-to-v11.md

However, the migration does not happen — Akavache always creates a brand new
empty database. As a result, all users get logged out after the update because
the cached authentication token is lost.

I tested both:

  • iOS Simulator
  • real iOS device via TestFlight

In both cases the v11 app does not detect or migrate the existing SQLite DB.

I attach:

  • my old Akavache v10 CacheManager (working)
  • my new Akavache v11 CacheManager

Files:

I want to understand:

  • Is my migration code correct?
  • Is auto-migration supported when using WithAkavacheCacheDatabase?
  • Is there an additional step required to enable migration?
  • Or is this possibly a bug in v11?

Thank you!

Step to reproduce

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Reproduction repository

https://github.com/reactiveui/ReactiveUI

Expected behavior

When upgrading from Akavache v10 to v11, the new version should automatically
detect and migrate the existing legacy SQLite cache database created by v10,
as described in the migration guide.

After launching the app with Akavache v11 for the first time, all previously
stored data (including authentication tokens) should remain available, and
users should stay logged in without needing to re-authenticate.

Screenshots 🖼️

No response

IDE

Rider macOS

Operating system

Mac OS

Version

No response

Device

iPhone

ReactiveUI Version

No response

Additional information ℹ️

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions