[CDO] Schema evolution [message #921605] |
Mon, 24 September 2012 05:14  |
Eclipse User |
|
|
|
Hi CDO users and developers,
we are wondering about COD's model evolution capabilities. Can we convert between ecore versions - preferably in memory? Lets consider the following scenario:
1) Server has version 2 of the meta-model
2) Client A has version 1 of the meta-model and needs to store some data into the newer server before shutting down, because it was off-line when the server was migrated
3) The developer wants to introduce a new meta-model version 3 without knowing the DB mapping or without having direct access to the DB
4) If anything goes wrong with the next software release the developer need to switch back to version 2 without loosing application data gathered while using version 3
Every Version of the meta-model could get an own namespace to distinguish them. Then we could load the different versions into a single process and convert them back and forth. But this would be bad for two reasons: a) all elements in the repository would be deleted and recreated with a 'different' type b) we would need to convert it on-the-fly server side to talk with Client A.
Any solutions for this kind of model evolution with CDO?
What evolution techniques are there for CDO besides DB-side manual conversion?
Best regards,
Christian
|
|
|
Re: [CDO] Schema evolution [message #921646 is a reply to message #921605] |
Mon, 24 September 2012 05:48  |
Eclipse User |
|
|
|
Hi Christian,
Model evolution support is discussed in https://bugs.eclipse.org/bugs/show_bug.cgi?id=256856
You're invited to add your requirements there but be aware that designing and implementing this feature will cause a
majore effort and there's still no funding available.
Cheers
/Eike
----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper
Am 24.09.2012 11:14, schrieb Christian Schneider:
> Hi CDO users and developers,
>
> we are wondering about COD's model evolution capabilities. Can we convert between ecore versions - preferably in
> memory? Lets consider the following scenario:
>
> 1) Server has version 2 of the meta-model
> 2) Client A has version 1 of the meta-model and needs to store some data into the newer server before shutting down,
> because it was off-line when the server was migrated
> 3) The developer wants to introduce a new meta-model version 3 without knowing the DB mapping or without having direct
> access to the DB
> 4) If anything goes wrong with the next software release the developer need to switch back to version 2 without
> loosing application data gathered while using version 3
>
> Every Version of the meta-model could get an own namespace to distinguish them. Then we could load the different
> versions into a single process and convert them back and forth. But this would be bad for two reasons: a) all elements
> in the repository would be deleted and recreated with a 'different' type b) we would need to convert it on-the-fly
> server side to talk with Client A.
>
> Any solutions for this kind of model evolution with CDO?
> What evolution techniques are there for CDO besides DB-side manual conversion?
>
> Best regards,
> Christian
|
|
|
Powered by
FUDForum. Page generated in 0.03234 seconds