Initial schema.
authorCMDR furrycat <elite@furrycat.net>
Tue, 24 Nov 2015 16:58:45 +0000 (11:58 -0500)
committerCMDR furrycat <elite@furrycat.net>
Tue, 24 Nov 2015 16:58:45 +0000 (11:58 -0500)
.gitignore [new file with mode: 0644]
Makefile [new file with mode: 0644]
composer.json [new file with mode: 0644]
propel/build.properties [new file with mode: 0644]
propel/schema.xml [new file with mode: 0644]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..b778276
--- /dev/null
@@ -0,0 +1,6 @@
+propel/build/
+propel/schema-transformed.xml
+propel/runtime-conf.xml
+vendor/
+composer.lock
+composer.phar
diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..f9340e4
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,7 @@
+all: composer.phar
+       php composer.phar install
+       chmod 755 vendor/propel/propel1/generator/bin/phing.php
+       cd propel && ../vendor/propel/propel1/generator/bin/propel-gen
+
+composer.phar:
+       curl -sS https://getcomposer.org/installer | php
diff --git a/composer.json b/composer.json
new file mode 100644 (file)
index 0000000..1b3da4a
--- /dev/null
@@ -0,0 +1,7 @@
+{
+  "name": "buckyball/buckyball",
+  "description": "Buckyball",
+  "require": {
+    "propel/propel1": "1.6.9"
+  }
+}
diff --git a/propel/build.properties b/propel/build.properties
new file mode 100644 (file)
index 0000000..e93c62c
--- /dev/null
@@ -0,0 +1,3 @@
+propel.database = mysql
+propel.project = buckyball
+propel.defaultDateformat = %F
diff --git a/propel/schema.xml b/propel/schema.xml
new file mode 100644 (file)
index 0000000..5a4bdc3
--- /dev/null
@@ -0,0 +1,176 @@
+<?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>