On Tue, Nov 05, 2002 at 09:13:23PM -0600, Matthew Vanecek was heard to remark: > > It will be extremely useful in a business environment, and I have a > twisted penchant for database design. :( So, yes, we're doing something > about it. The plan is to make the database backend more extensible. > That would allow, e.g., the addition of business objects, or budgeting, > etc. > > I've been working on a redesign, and am currently finishing up the data > model, with only one or two entities remaining. That said, however, > it's never a good idea to access the data store directly, not when > there's a good API to go through.
Ohh, good, I was wondering what the status was. > These will likely not maintain the exact current structure. The backend > should be accessed via the Engine API. FYI, the current backend has an interesting stunt for dealing with version changes& backwards compat. Basically, the engine checks a version number stored in the db, and performs a restructuring of the db tables, if needed. Fundamentally incompatible version changes bump the major version number, but backwards compatible changes bump only the minor version and/or revision. Things like freecoins or older versions of gnucash can use the version table to determine if they even know the db structure. (Old versions of gnucash do check this table, and will operate only if the changes to the db were backwards compat, i.e. didn't bump the major version.) It helps avoid having to upgrade lots of old clients in lockstep with db changes. --linas -- pub 1024D/01045933 2001-02-01 Linas Vepstas (Labas!) <[EMAIL PROTECTED]> PGP Key fingerprint = 8305 2521 6000 0B5E 8984 3F54 64A9 9A82 0104 5933
msg01252/pgp00000.pgp
Description: PGP signature
