[keycloak-dev] generic model migration

Stian Thorgersen stian at redhat.com
Tue Apr 28 00:27:41 EDT 2015


I reckon it works, but older updates will have to be refactored when we change the model.

----- Original Message -----
> From: "Marek Posolda" <mposolda at redhat.com>
> To: "Bill Burke" <bburke at redhat.com>, keycloak-dev at lists.jboss.org
> Sent: Monday, April 27, 2015 11:37:18 PM
> Subject: Re: [keycloak-dev] generic model migration
> 
> TBH, I am not sure if it's the way to go...
> 
> The problem is that implementation like MigrationTo1_2_0_RC1 is directly
> using Model API. This can be problematic IMO because when your DB is in
> old version and you call the model operation like:
> 
> realm.getClientNameMap().get(Constants.BROKER_SERVICE_CLIENT_ID);
> 
> it could fail as source code is in newest version and hence JPA
> implementation expects the newest DB schema and fields in DB. But
> database is in old version and doesn't yet have those fields. That's why
> it seems to me that only stable way of migration is really the "native"
> calling of DB operations, which sucks but should work :-\
> 
> Marek
> 
> On 27.4.2015 22:15, Bill Burke wrote:
> > I implemented this as a singleton data item in JPA or Mongo or File.  I
> > jsut store the current version.  Implementation is in
> > MigrationModelManager and it just checks the currently stored version
> > versus the deployed version.  Its all hardcoded at the moment, but does
> > give some abstraction.  I think it is good enough going forward.  Don't
> > need anything fancy.
> 
> _______________________________________________
> keycloak-dev mailing list
> keycloak-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/keycloak-dev
> 


More information about the keycloak-dev mailing list