Software is constantly in motion. Bugs are fixed, new features added, current features improved and architectures improved. Being the core of most applications, data models do not escape continuous changing. As software is in use, it gathers and stores data, following a data model structure. When a data model is updated, persistent data is may no longer be readable and is lost.
To cope with changing data models, data migration can transform old data to adhere the new rules set by an updated data model. Data migrations are tedious to construct, bug-sensitive and are needed for every new version of the data model, requiring a significant effort in development focused on changing the data model as less as possible and an infeasible manual effort in agile development.
Automating Data Model Evolution
automatically migrates data along an evolving data model. Input to Acoda
are two versions of a data model and a database. Acoda
automatically detects what was changed from one data model to the other and changes a copy of the data accordingly. Output is a ready-to-use database dump adhering the latest data model version.
is built for object oriented data models, but works equally well for relational data models. It supports arbitrary types of primitive attributes, type inheritance, object relations, abstract types, sets, lists, attribute cardinalities (including mandatory) and inverse relations. The changes Acoda
supports include: attribute and type renaming, attribute moving, changing attribute types, resolving implicit references, wrapping attributes, introducing uniqueness and changing attribute cardinalities.
20 May 2010
Integrated the SQL migration generator into the Acoda plugin, one click away...
16 May 2010
A database migration script generator now generates SQL migrations from an evolution specification.
11 February 2010
Acoda now has an issue tracker at: http://yellowgrass.org/project/Acoda
4 February 2010
Started a case study on designing an issue tracker http://yellowgrass.org
using Acoda in purely agile development
29 January 2010
A first (alpha) version of the Acoda Eclipse plugin is finished. Currently bugfixing it.
17 June 2009
Acoda is now also available as Nix package. See Installation
for more details.
28 May 2009
Acoda has a logo!
28 May 2009
Filled in most of the basic content on the web page and started an online manual
27 May 2009
Acoda recieved its name and a brand new web site. More text to come soon...
Acoda is a project from the Software Engineering Research Group of Delft Technical University of Technology. It is supported by NWO/JACQUARD project 638.001.610, MoDSE
on Model-Driven Software Evolution.