Db structure

marcus.wolschon at googlemail.com marcus.wolschon at googlemail.com
Mon Aug 10 09:39:23 EDT 2009

On Sun, 9 Aug 2009 15:46:46 -0400, Phil Longstaff <plongstaff at rogers.com>
> 1) Each account stores a number of boolean flags (tax-related, hidden, 
> placeholder) in the slots table.  It would be simpler if these were just 
> boolean values in the accounts table.

I find the slots-mechanism very nice for extensions and plugins and I'm
extensive use of it. (e.g. mark transactions with the HBCI-transactions
they belong to, with document-IDs of receipts in a

> 2) Each budget stores all of the budget information in slots, with path
> names 
> of <guid>/<period> (e.g. 294ddec82b0840980d98203/12).  These should be
> moved 
> to a new budget_values table with columns id (autoinc/primary key), 
> account_guid, period_num, budget_value (numeric).  This would allow
> access to the budget info by external tools.

I have no preference there.

> This leads to potential backwards compatibility problems in the xml file 
> format.  However, as long as 2.4 can read 2.2 XML files, do we need to
> backwards compatibility so that 2.2 can read 2.4 files?

I may not be the only one to edit his gnucash-file on multiple computers
(including different versions on Linux and Windows.

What has changing the DB-schema of a not yet released version to do with
changing the establised XML-schema?


More information about the gnucash-devel mailing list