Hi Leslie, The policies here have been a thorn in the design for some time. The first version of schema sync provided lots of configuration options for sync policies, the second tried to provide a clean default policy; but I have also had this redefine before open sync problem.
The idea is that the code should be the master and should update the DB when the DB is connected. This would mean a walk of the class schema table and checking if there is anything in memory already which it should sync to. This should be configurable for anyone doing the with-open-store approach to opening/closing stores frequently (a rare model, I believe). However, we want lots of seat belts for the 'code as master' model as a redefinition that drops or renames a slot should never drop data (this is working now, correct?). Ian On Aug 4, 2009, at 11:28 AM, Leslie P. Polzer wrote: > > (open-store *testbdb-spec*) > > (defpclass foobar () ()) > > (make-instance 'foobar) > > (close-store) > > (defpclass foobar () > ((slot :accessor slot :initform nil)) > (:index t)) > > (open-store *testbdb-spec*) > > (describe (car (get-instances-by-class 'foobar))) > > #<FOOBAR oid:2> > [standard-object] > > Slots with :DATABASE allocation: > SLOT = #<unbound slot> > Slots with :INSTANCE allocation: > OID = 2 > SPEC = (:BDB "/home/sky/mystic/packages/elephant-1.0/tests/testdb/") > > (defpclass foobar () > ((slot :accessor slot :initform nil)) > (:index t)) > > Synchronizing FOOBAR in ... > #<PERSISTENT-METACLASS FOOBAR> > > > Bottom line: class schemas changed while a store is closed > won't sync when that store is opened later. > > There are several ways to approach this. We could just sync > all db classes when a store is opened or take note of which > redefined classes have synced to which stores. > > Opinions? > > Leslie > > -- > http://www.linkedin.com/in/polzer > > > _______________________________________________ > elephant-devel site list > elephant-devel@common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel _______________________________________________ elephant-devel site list elephant-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/elephant-devel