Next: , Up: The Database

8.3.1 Database Schema

The SQL for the database schema is available in buildbot/db/schema/tables.sql. However, note that this file is not used for new installations or upgrades of the Buildbot database.

Instead, the buildbot.db.schema.DBSchemaManager handles this task. The operation of this class centers around a linear sequence of database versions. Versions start at 0, which is the old pickle-file format. The manager has methods to query the version of the database, and the current version from the source code. It also has an upgrade method which will upgrade the database to the latest version. This operation is currently irreversible.

There is no operation to "install" the latest schema. Instead, a fresh install of buildbot begins with an (empty) version-0 database, and upgrades to the current version. This trades a bit of efficiency at install time for assurances that the upgrade code is well-tested.