very nice. Is there any chance to see this driven from the other side round 
too. Like changes to the DB have 'Reverse Engineer Database schema' merge 
changes into the existing mapping in the modeller.
I am craving for this for some time.

Tore Halset <[EMAIL PROTECTED]> wrote:
Hello.

I want to be able to migrate schema changes from a DataMap to a  
database. Mainly for two reasons.
  1) Make it easier for DBAs and developers to keep track of DB  
related changes in a project.
  2) Make it simpler for developers to keep the db schema in sync  
with the model.

My current implementation has support for adding tables, add/drop  
columns, setting null/not null and changing text length. The unit  
tests works on PostgreSQL, MS SQL Server and Derby.

Implementation details:
  * Each DbAdapter can create a DbMergerFactory that are able to  
create DbMergerToken for various tasks like AddColumn and SetAllowNull.
  * A DbMerger class that uses DbLoader to create a DataMap from the  
db and then create a List of needed  DbMergerTokens that can be  
applied to the database to get in sync.

Here are some screenshots from the modeler.
http://www.pvv.ntnu.no/~halset/tmp/caymigr/

TODO:
  * Support more databases. Will need help on this one as I do not  
have access to that many.
  * Default value for not null columns.
  * Support more tasks like adding/dropping forreign keys, changing  
primary keys and so on.

We have discussed this before, but I am not able to find a suitable  
jira task for it.

Is this something you want for cayenne as well? Is it ok for you if I  
start checking in after M2?

Regards,
  - Tore.

___
 sent via WebmailLight 3.1.11

Reply via email to