Support for this already exists. There's a "versions" table which has table-name/table-version pairs. This is loaded automatically when the file is opened. The backend code for each object type contains a "create tables" routine which is called to create and/or update tables for that object type. At this time, if the table version is not current, it can be updated. There is already some code for various object types which have handled some upgrades through the 2.3.X series.
Phil --------- I used to be a hypochondriac AND a kleptomaniac. So I took something for it. ________________________________ From: Derek Atkins <warl...@mit.edu> To: John Ralls <jra...@ceridwen.us> Cc: devel gnucash <gnucash-devel@gnucash.org> Sent: Wed, December 8, 2010 8:23:46 AM Subject: Re: SQL Databases from before 2.3.16 John, John Ralls <jra...@ceridwen.us> writes: > Everyone using a SQL backend who started with data saved from XML with a >Gnucash version before 2.3.16 should re-save from XML with 2.3.17 and re-enter >any intervening transactions. > > I just fixed 635967 [1], which complained that scheduled transactions didn't >work in 2.3.17 from a database created with 2.3.15. > > That's true, and r19911 fixes it. It was caused by a change in the way that > KVP >data are saved and retrieved by the SQL backend in r19729 which fixed 627831 >[2], a much worse data loss: All online banking and some transaction data for >transactions that have more than one KVP slot; perhaps other data as well. Do you think there may have been some SQL you could have used to clean this up? Going forward (after 2.4.0) we will NOT be able to ask people to save to XML and reload the Database. *ANY* Schema changes or data corrections we need to make will need to be done in-place within the SQL. C.f. MythTV for a reference on how to do this. > Regards, > John Ralls -derek -- Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory Member, MIT Student Information Processing Board (SIPB) URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH warl...@mit.edu PGP key available _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel