View Issue Details

IDProjectCategoryView StatusLast Update
0003181Ham Radio DeluxeBugpublic2019-11-08 02:31
ReporterK7ZCZAssigned ToK7ZCZ 
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Product Version6.4.0.907 
Target VersionFixed in Version6.7.0.244 
Summary0003181: Logbook requires a database schema migration solution
DescriptionThere are sevreal bugs (related) which require changes to the Logbook dtabase schema. Adding a new column, removing old columns, adding indexes, or changing database types are common schema migration operations.

We should be able to migrate existing databases to newer database schema definitions. Migration can be a desturctive operation if the schema migration fails, so we should agree on a few goals and limitations and sort-out how we approach the problem.

One of my primary concerns is the operation of the application against old schema. If a schema change is necessary, then the application should disable those features or actions which depend on the new (and unavailable) features when connected to a down-level database. This is possible, but it adds layers of complexity to the application: lots of conditional code based on the detected schema version, alternate displays and options, and so on. This strains development and testing.

One alternative would be to force migration of the databases when the database is first opened. If the migration is declined by the user or fails, then the application refuses to open the database. This avoids the compatibility code bloat issue, but it is awkward because the user will naturally be tentative about porting their database. They won't be able to use the application to perform a backup, since it will refuse to open the data source.

We should evaluate other solutions and decide what's feasible.

The issue is further complicated by the product's diverse support for back-end database providers through ODBC. Different commands and capabilities are required to perform the DDL and DML operations which would be used in schema migration operations, so testing against each supported back-end database server is necessary.

Until agree on a solution, we can't make progress on the related issues.
TagsNo tags attached.
Testing Beta Successful


related to 0003142 assignedWA9PIE 4 - Business Priorities Logbook does not offer a list of satellites; this causes problems with LOTW upload (and probably awards) 
related to 0001963 assignedK7ZCZ 2 - Next Dev List (Holding Area) Can't manually log frequencies above 2.3GHz 
related to 0002809 closedg3ucq Ham Radio Deluxe Some call signs cannot be logged 
related to 0002267 assigned 1 - Backlog ADIF Field <qso_date_off> is not being imported 
related to 0003215 closedK7ZCZ Ham Radio Deluxe ALE handles international characters when editing, but not when adding records on SQL Server back-end 



2019-04-03 14:05

developer   ~0007817

fixed in the 6.7 branch with this checkin:


2019-08-31 09:49

viewer   ~0008476

I installed on my second machine. No issues with the installation.
Ran HRD Logbook - it requested migration of logbook - which is in a MySQL database located on a remote server.
Migration was shown as successful and logbook opened as expected.
I have not found any corruptions (yet?) and viewing of entries is as expected.

Went to add a new contact and it failed saying my ODBC driver does not accept dynasets. See image

I need to investigate this over the next couple of days but hopefully finding a new ODBC driver will sort it.

HRD67_226AddContact.PNG (35,849 bytes)
HRD67_226AddContact.PNG (35,849 bytes)


2019-08-31 10:33

viewer   ~0008477

I have updated my ODBC driver to the latest available and now the logbook will not open - error message is "This database is not supported"

DatabaseNotSupported.PNG (6,984 bytes)
DatabaseNotSupported.PNG (6,984 bytes)


2019-08-31 11:31

developer   ~0008479

The dynasets message is due to work done in Mantis 3248 and isn't related to the schema migration. I've checked in a fix and added notes to 3248 about it.

The "database is not supported" message is an unspecific error that we need to fix; see Mantis 2720. The usual cause is with the configuration of your data source or the configuration of the database in Logbook. If you've removed the old drivers and installed the new, odds are that the database definition in the Logbook is still referencing the old driver. There may be messages in the Logfile view that help you narrow the problem down, but it also has nothing to do with the schema migration feature.


2019-09-22 19:26

administrator   ~0008586

I have applied a couple techniques to validate that the data prior to the migration is the same as the data after the migration (without respect to the database schema, the data is in-tact).

Is that good enough?


2019-09-23 05:49

viewer   ~0008597

Unable to test


2019-09-23 13:35

viewer   ~0008617

Sorry. Installed Beta on another PC and Migration worked well.


2019-09-23 14:24

viewer   ~0008618

I have v227 on three computers and the migration worked fine


2019-09-24 00:12

administrator   ~0008623


Issue History

Date Modified Username Field Change
2019-02-16 18:07 K7ZCZ New Issue
2019-02-16 18:07 K7ZCZ Relationship added related to 0003142
2019-02-16 18:08 K7ZCZ Relationship added related to 0001963
2019-02-16 18:12 K7ZCZ Relationship added related to 0002809
2019-03-06 22:01 K7ZCZ Relationship added related to 0002267
2019-04-03 14:05 K7ZCZ Note Added: 0007817
2019-04-03 14:05 K7ZCZ Assigned To => K7ZCZ
2019-04-03 14:05 K7ZCZ Status new => resolved
2019-04-03 14:05 K7ZCZ Resolution open => fixed
2019-04-03 14:05 K7ZCZ Relationship added related to 0003215
2019-06-15 11:36 WA9PIE Project 3 - Current Dev List => 2 - Next Dev List (Holding Area)
2019-08-30 13:46 K7ZCZ Project 2 - Next Dev List (Holding Area) => 3 - Current Dev List
2019-08-30 15:26 K7ZCZ Fixed in Version =>
2019-08-31 09:49 g3ypp File Added: HRD67_226AddContact.PNG
2019-08-31 09:49 g3ypp Note Added: 0008476
2019-08-31 10:33 g3ypp File Added: DatabaseNotSupported.PNG
2019-08-31 10:33 g3ypp Note Added: 0008477
2019-08-31 11:31 K7ZCZ Note Added: 0008479
2019-09-22 19:26 WA9PIE Note Added: 0008586
2019-09-23 05:49 g3ucq Note Added: 0008597
2019-09-23 13:35 g3ucq Note Added: 0008617
2019-09-23 14:24 w4ase Note Added: 0008618
2019-09-24 00:12 WA9PIE Status resolved => closed
2019-09-24 00:12 WA9PIE Description Updated View Revisions
2019-09-24 00:12 WA9PIE Testing Not Started => Beta Successful
2019-09-24 00:12 WA9PIE Note Added: 0008623
2019-11-08 02:16 WA9PIE Fixed in Version =>
2019-11-08 02:31 WA9PIE Project 3 - Current Dev List => Ham Radio Deluxe