[development] versioned schema?

Philippe Jadin philippe.jadin at gmail.com
Mon Jun 11 18:24:36 UTC 2007

> I kinda like #2 the best, but #1 may make more sense with our current
> hook_update_N() system.  (#3 has the "advantage" that we might be able
> to automatically update from one version to the next, but it could
> also be very complicated.)  Perhaps hook_schema_N() and
> hook_update_N() should be tied together in some way so that the new
> schema and the upgrade path to get to it from the previous one are
> always specified together.

Have you considered querying the database to check what fields are
already there and add the missing ones based on the latest schema?

The problem is what to do when a field changes type / name between two
versions of the schema. But does it happen often?

This would make it very easy for module developpers : simply add the
field in the schema, and the schema api take cares of adding the
required fields. More complex operations could be handled with #1. We
did this with our cms, and it worked great. (this way you have schema
versioned like code in cvs). I would not touch the fields found in the
DB and not found in the schema, just in case :-)


> Barry

More information about the development mailing list