View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0005992 | Taler | merchant backend | public | 2019-12-12 14:44 | 2024-01-12 13:06 |
| Reporter | Florian Dold | Assigned To | Christian Grothoff | Resolution deadline | |
| Implementer | Reviewer | ||||
| Release signed by | Deployed by | ||||
| Verifier | Communicator | ||||
| Data protection authority notification required | No | ||||
| CSIRT notification required | No | ||||
| Estimated effort (hours) | Actual effort (hours) | 0 | |||
| Fast-track | No | ||||
| Work package | none | ||||
| Priority | normal | Severity | feature | Reproducibility | N/A |
| Status | closed | Resolution | fixed | ||
| Product Version | git (master) | ||||
| Target Version | 0.7.0 | Fixed in Version | 0.7.0 | ||
| Summary | 0005992: merchant and exchange database should have version information for future schema migration support | ||||
| Description | Currently, there is no way to find out which schema version the exchange/merchant database uses. There are a variety of approaches to versioning: a) have a "metadata" table that stores the version number b) suffix the schema version name to the name of the table c) use the "CREATE SCHEMA myschema;" mechanism of posgres, which is similar to approach (b) but separates the tables from different schema versions better. | ||||
| Tags | No tags attached. | ||||
| https://gitlab.com/depesz/Versioning seems like a sane way of doing (a). I also think the suggestion from https://enterprisecraftsmanship.com/posts/database-versioning-best-practices/ to basically keep all schema changes in immutable ".sql" files makes sense. Doing this would require modifications to the plugins to load/run ".sql" files instead of our current SQL-inline-in-C, but at the same time that doesn't seem like a bad idea anyway. | |
| https://code.djangoproject.com/wiki/SchemaEvolution may also contain a relevant discussion. | |
| Documented in 9401b42..5e5c881, implemented in GNUnet 874a69b8f8a31eb5cc608c490478adc57681970b and exchange 4b16198b43ccb63a7efc2c170622a69759f8ed8f. Merchant DB is still pending! | |
| Merchant DB versioning has been implemented. | |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2019-12-12 14:44 | Florian Dold | New Issue | |
| 2019-12-14 22:39 | Christian Grothoff | Note Added: 0015164 | |
| 2019-12-14 22:44 | Christian Grothoff | Note Added: 0015165 | |
| 2019-12-23 12:41 | Christian Grothoff | Assigned To | => Christian Grothoff |
| 2019-12-23 12:41 | Christian Grothoff | Status | new => assigned |
| 2019-12-23 12:41 | Christian Grothoff | Target Version | => 0.7.1 |
| 2020-01-17 02:22 | Christian Grothoff | Note Added: 0015284 | |
| 2020-01-17 02:22 | Christian Grothoff | Category | other => merchant Postgres backend (DB) |
| 2020-01-24 20:16 | Christian Grothoff | Status | assigned => informing |
| 2020-01-24 20:16 | Christian Grothoff | Resolution | open => fixed |
| 2020-01-24 20:16 | Christian Grothoff | Fixed in Version | => 0.7.0 |
| 2020-01-24 20:16 | Christian Grothoff | Note Added: 0015299 | |
| 2020-01-24 20:16 | Christian Grothoff | Target Version | 0.7.1 => 0.7.0 |
| 2020-03-31 14:04 | Christian Grothoff | Status | informing => closed |
| 2024-01-12 13:06 | Christian Grothoff | Category | merchant Postgres backend (DB) => mechant backend |
| 2025-03-22 13:09 | Christian Grothoff | Category | mechant backend => merchant backend |