--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<database name="buckyball" defaultIdMethod="native">
+
+ <!-- Race competitor -->
+ <table name="competitor" phpName="Competitor" baseClass="BuckyballObject">
+ <vendor type="mysql">
+ <parameter name="Engine" value="InnoDB"/>
+ <parameter name="Charset" value="utf8"/>
+ </vendor>
+ <column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true"/>
+ <column name="cmdr_name" type="varchar" size="64" required="true"/>
+ <column name="forum_name" type="varchar" size="64"/>
+ <unique name="cmdr_name">
+ <unique-column name="cmdr_name"/>
+ </unique>
+ </table>
+
+ <!-- Spaceframe -->
+ <table name="hull" phpName="Hull" baseClass="BuckyballObject">
+ <vendor type="mysql">
+ <parameter name="Engine" value="InnoDB"/>
+ <parameter name="Charset" value="utf8"/>
+ </vendor>
+ <column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true"/>
+ <column name="name" type="varchar" size="64" required="true"/>
+ <unique name="name">
+ <unique-column name="name"/>
+ </unique>
+ </table>
+
+ <!-- Race ship -->
+ <table name="ship" phpName="Ship" baseClass="BuckyballObject">
+ <vendor type="mysql">
+ <parameter name="Engine" value="InnoDB"/>
+ <parameter name="Charset" value="utf8"/>
+ </vendor>
+ <column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true"/>
+ <column name="competitor_id" type="integer" required="true"/>
+ <column name="hull_id" type="integer" required="true"/>
+ <column name="name" type="varchar" size="64" required="true"/>
+ <unique name="hull_name">
+ <unique-column name="competitor_id"/>
+ <unique-column name="hull_id"/>
+ <unique-column name="name"/>
+ </unique>
+ <foreign-key foreignTable="competitor" phpName="Competitor" refPhpName="Ship">
+ <reference local="competitor_id" foreign="id"/>
+ </foreign-key>
+ <foreign-key foreignTable="hull" phpName="Hull" refPhpName="Ship">
+ <reference local="hull_id" foreign="id"/>
+ </foreign-key>
+ </table>
+
+ <!-- Star system -->
+ <table name="system" phpName="System" baseClass="BuckyballObject">
+ <vendor type="mysql">
+ <parameter name="Engine" value="InnoDB"/>
+ <parameter name="Charset" value="utf8"/>
+ </vendor>
+ <column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true"/>
+ <column name="name" type="varchar" size="64" required="true"/>
+ <unique name="name">
+ <unique-column name="name"/>
+ </unique>
+ </table>
+
+ <!-- Spacestation -->
+ <table name="station" phpName="Station" baseClass="BuckyballObject">
+ <vendor type="mysql">
+ <parameter name="Engine" value="InnoDB"/>
+ <parameter name="Charset" value="utf8"/>
+ </vendor>
+ <column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true"/>
+ <column name="system_id" type="integer" required="true"/>
+ <column name="name" type="varchar" size="64" required="true"/>
+ <unique name="system_station">
+ <unique-column name="system_id"/>
+ <unique-column name="name"/>
+ </unique>
+ <foreign-key foreignTable="system" phpName="System" refPhpName="Station">
+ <reference local="system_id" foreign="id"/>
+ </foreign-key>
+ </table>
+
+ <!-- Race -->
+ <table name="race" phpName="Race" baseClass="BuckyballObject">
+ <vendor type="mysql">
+ <parameter name="Engine" value="InnoDB"/>
+ <parameter name="Charset" value="utf8"/>
+ </vendor>
+ <column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true"/>
+ <column name="name" type="varchar" size="64" required="true"/>
+ <unique name="name">
+ <unique-column name="name"/>
+ </unique>
+ </table>
+
+ <!-- Stations in race -->
+ <table name="course" phpName="Course" baseClass="BuckyballObject">
+ <vendor type="mysql">
+ <parameter name="Engine" value="InnoDB"/>
+ <parameter name="Charset" value="utf8"/>
+ </vendor>
+ <column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true"/>
+ <column name="race_id" type="integer" required="true"/>
+ <column name="station_id" type="integer" required="true"/>
+ <column name="start_line" type="boolean"/>
+ <column name="finish_line" type="boolean"/>
+ <unique name="race_station">
+ <unique-column name="race_id"/>
+ <unique-column name="station_id"/>
+ </unique>
+ <unique name="start_line">
+ <unique-column name="start_line"/>
+ </unique>
+ <unique name="finish_line">
+ <unique-column name="finish_line"/>
+ </unique>
+ <foreign-key foreignTable="race" phpName="Race" refPhpName="Course">
+ <reference local="race_id" foreign="id"/>
+ </foreign-key>
+ <foreign-key foreignTable="station" phpName="Station" refPhpName="Course">
+ <reference local="station_id" foreign="id"/>
+ </foreign-key>
+ </table>
+
+ <!-- Race lap -->
+ <table name="lap" phpName="Lap" baseClass="BuckyballObject">
+ <vendor type="mysql">
+ <parameter name="Engine" value="InnoDB"/>
+ <parameter name="Charset" value="utf8"/>
+ </vendor>
+ <column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true"/>
+ <column name="race_id" type="integer" required="true"/>
+ <column name="ship_id" type="integer" required="true"/>
+ <column name="lap_number" type="integer" required="true"/>
+ <unique name="ship_lap">
+ <unique-column name="race_id"/>
+ <unique-column name="ship_id"/>
+ <unique-column name="lap_number"/>
+ </unique>
+ <foreign-key foreignTable="race" phpName="Race" refPhpName="Lap">
+ <reference local="race_id" foreign="id"/>
+ </foreign-key>
+ <foreign-key foreignTable="ship" phpName="Ship" refPhpName="Lap">
+ <reference local="ship_id" foreign="id"/>
+ </foreign-key>
+ </table>
+
+ <!-- Lap arrival time -->
+ <table name="laptime" phpName="Laptime" baseClass="BuckyballObject">
+ <vendor type="mysql">
+ <parameter name="Engine" value="InnoDB"/>
+ <parameter name="Charset" value="utf8"/>
+ </vendor>
+ <column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true"/>
+ <column name="lap_id" type="integer" required="true"/>
+ <column name="station_id" type="integer" required="true"/>
+ <column name="arrival" type="timestamp" required="true"/>
+ <unique name="lap_arrival">
+ <unique-column name="lap_id"/>
+ <unique-column name="arrival"/>
+ </unique>
+ <unique name="lap_station">
+ <unique-column name="lap_id"/>
+ <unique-column name="station_id"/>
+ </unique>
+ <foreign-key foreignTable="lap" phpName="Lap" refPhpName="Laptime">
+ <reference local="lap_id" foreign="id"/>
+ </foreign-key>
+ <foreign-key foreignTable="station" phpName="Station" refPhpName="Laptime">
+ <reference local="station_id" foreign="id"/>
+ </foreign-key>
+ </table>
+
+</database>