[odb-users] Load old DB after adding new class data member
Justin Huang
yohuang at nvidia.com
Tue Jan 5 09:03:55 EST 2021
Hi Boris,
I added a new line '#pragma db model version(1, 2)' at the top of class header file, and added '#pragma db added(2)' before the newly added bool data member in class definition, then the old db can be loaded successfully. I see a new table named by 'schema_version' is created in newly created db.
Thanks a lot for quick suggestion.
thanks,
Justin
-----Original Message-----
From: Boris Kolpackov <boris at codesynthesis.com>
Sent: Tuesday, January 5, 2021 9:22 PM
To: Justin Huang <yohuang at nvidia.com>
Cc: odb-users at codesynthesis.com
Subject: Re: [odb-users] Load old DB after adding new class data member
External email: Use caution opening links or attachments
Justin Huang <yohuang at nvidia.com> writes:
> I added a new boolean data member (with default value false) for a
> class, but I want to load a DB generated before adding this new data
> member. I got '1: no such column' error when I tried to load old DB
> after updating the class.
>
> Is there a way that ODB can load this old db?
I think the soft object model changes support should allow you to achieve this, see "Soft Object Model Changes" for details:
https://codesynthesis.com/products/odb/doc/manual.xhtml#13.4
More information about the odb-users
mailing list