plomino/Plomino — Issue #26: Database migration and environment
Author: jean
Created: 2011-10-11 07:27:36+00:00
State: open
Labels: feature

# Migration

Besides migration of the Plomino product, long-lived Plomino applications will also need migration.

It would be good to have a proper story for this, whether in terms of a set of best practices, or support in the Plomino product.

The basic process is a *database version* property, coupled with migration steps that update the property, as well as keeping a log of work done. This can be written to the Zope log.

Where does the property live? A Plomino document is a bad idea, because importing and syncing of the database version doesn't make sense. Python scripts can't directly change attribute or properties. At minimum we may need `PlominoDatabase.setVersion`.

It would probably be a good idea to integrate migration into the DatabaseDesign view.

# Environment

Plomino databases often depend on Plone content or other databases to be present, in order to function correctly. It would be useful to have an agent and script library that makes sure that expected scripts, properties, databases, etc are present.