View Issue Details

IDProjectCategoryView StatusLast Update
0011718Talerwallet-corepublic2026-08-10 00:35
ReporterFlorian Dold Assigned ToFlorian Dold  
PrioritynormalSeverityminorReproducibilityhave not tried
Status resolvedResolutionfixed 
Target Version1.6Fixed in Version1.6 
Summary0011718: wallet-core should automatically migrate existing sqlite3 db to new native schema
DescriptionThis should for now be under a feature flag that is respected when the wallet is initialized or re-initialized, so that the user can change it in the settings in the UI. By default, it should be off, until we're sure the migration is rock solid.

The existing migration path in wallet-core and the taler-wallet-cli is that the old .sqlite3 file is kept, and the migrated database goes to a new file with a different path.

That would mean for mobile wallets, we need additional support from the host for the migration, since wallet-core does not have FS access on these platforms.

Instead, we should do the migration in-database. Some table should track the migration status, and we should rename the old tables during the migration to the new native sqlite3 schema. The backup tables can be thrown away after, say, a month, since that allows us to recover from fatally botched migrations.

We should also generate some test database that uses lots of possibly exotic features to test the migration.

The old migration path can be removed.
TagsNo tags attached.

Activities

Florian Dold

2026-08-09 22:48

manager   ~0029428

Implemented behind a migrateNativeDb feature flag.

Issue History

Date Modified Username Field Change
2026-08-06 19:39 Florian Dold New Issue
2026-08-06 19:39 Florian Dold Status new => assigned
2026-08-06 19:39 Florian Dold Assigned To => Florian Dold
2026-08-06 19:41 Florian Dold Description Updated
2026-08-09 22:48 Florian Dold Status assigned => resolved
2026-08-09 22:48 Florian Dold Resolution open => fixed
2026-08-09 22:48 Florian Dold Note Added: 0029428
2026-08-10 00:35 Christian Grothoff Fixed in Version => 1.6
2026-08-10 00:35 Christian Grothoff Target Version 1.7 => 1.6