[aerogear-dev] [aerogear-js] portable/fallback-able data migrations?

Lucas Holmquist lholmqui at redhat.com
Mon Feb 3 10:06:54 EST 2014


On Feb 3, 2014, at 9:58 AM, Douglas Campos <qmx at qmx.me> wrote:

> On Mon, Feb 03, 2014 at 08:40:49AM -0500, Lucas Holmquist wrote:
>> 
>> On Feb 1, 2014, at 4:08 PM, Douglas Campos <qmx at qmx.me> wrote:
>> 
>>> There's a nice feature on IndexedDB which is the version thing +
>>> 'upgrade needed' event[1], which we're using for creating the database
>>> automagically[2].
>>> 
>>> Any ideas on how could we provide an API for something like this, but
>>> which could potentially work with WebSQL too?
>>> 
>>> var dm = AeroGear.DataManager();
>>> dm.add({
>>> 	name: "newStore",
>>> 	storageType: "IndexedDB",
>>> 	settings: {
>>> 		dbVersion: 3,
>>> 		upgradeHandler: function (evt) {
>>> 			// evt.oldVersion
>>> 			// evt.newVersion
>>> 			// evt.store
>>> 			// do data migration stuff, just caring about objects
>>> 	  }
>>> 	}
>>> });
>>> 
>>> How does this sounds? Am I crazier than usual? :)
>> 
>> not sure we really need this since the user doesn't actually created
>> and of the "fields".  there is a field for an id and the other is the
>> json data,  so the user never interacts with modifying the db
> 
> Suppose we have an ACME inventory list app, which underwent structural
> changes during the upgrade from 0.0.2 to 0.0.3 and now uses kilograms to
> represent weight instead of pounds ;)
> 
> I want to have this "data migration" thing so I can do the conversion
> the first time the database is open.
> 
> Makes sense now?

yup,  makes sense,  then we would need to expose the "version" to the user, so they can increase the value or say to upgrade or something,  also adding the event listener to upgrade

it would also need to work with the sessionLocal adapter.


On a related note,  IndexedDB allows you to define keys for searching and other neat IndexedDBy things.  it would be nice to be able to get some of these things in too, maybe

> 
> -- 
> qmx
> _______________________________________________
> aerogear-dev mailing list
> aerogear-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/aerogear-dev




More information about the aerogear-dev mailing list