Files
scummvm-web/schema.xml
T
2022-11-10 18:44:59 -06:00

129 lines
6.2 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<database name="scummvm" defaultIdMethod="native" namespace="ScummVM\OrmObjects">
<behavior name="auto_add_pk">
<parameter name="name" value="auto_id" />
</behavior>
<table name="game" phpName="Game">
<column name="id" type="varchar" required="true" primaryKey="true"/>
<column name="name" type="varchar" size="255" required="true" primaryString="true" />
<column name="datafiles" type="varchar" size="255"/>
<column name="engine_id" type="varchar" size="24" required="true"/>
<column name="company_id" type="varchar" size="24" required="true"/>
<column name="moby_id" type="integer"/>
<column name="steam_id" type="integer"/>
<column name="gog_id" type="varchar"/>
<column name="additional_stores" type="varchar"/>
<column name="wikipedia_page" type="varchar"/>
<column name="series_id" type="varchar"/>
<foreign-key foreignTable="engine" onDelete="CASCADE">
<reference local="engine_id" foreign="id"/>
</foreign-key>
<foreign-key foreignTable="company" onDelete="CASCADE">
<reference local="company_id" foreign="id"/>
</foreign-key>
<foreign-key foreignTable="series" onDelete="CASCADE">
<reference local="series_id" foreign="id"/>
</foreign-key>
</table>
<table name="engine" phpName="Engine">
<column name="id" type="varchar" required="true" primaryKey="true"/>
<column name="name" type="varchar" size="128" required="true"/>
<column name="alt_name" type="varchar" size="128"/>
<column name="enabled" type="boolean"/>
</table>
<table name="company" phpName="Company">
<column name="id" type="varchar" required="true" primaryKey="true"/>
<column name="name" type="varchar" size="128" required="true"/>
<column name="alt_name" type="varchar" size="128"/>
</table>
<table name="series" phpName="Series">
<column name="id" type="varchar" required="true" primaryKey="true"/>
<column name="name" type="varchar" size="128" required="true"/>
</table>
<table name="compatibility" phpName="Compatibility">
<column name="id" type="varchar" required="true" primaryKey="true"/>
<column name="support" type="varchar" size="24" required="true" />
<column name="since_version" type="varchar" size="24" required="true" primaryKey="true"/>
<column name="notes" type="varchar"/>
<column name="stable_platforms" type="varchar" size="255"/>
<column name="unstable_platforms" type="varchar" size="255"/>
<foreign-key foreignTable="game" onDelete="CASCADE">
<reference local="id" foreign="id"/>
</foreign-key>
<foreign-key foreignTable="version" onDelete="CASCADE">
<reference local="since_version" foreign="id"/>
</foreign-key>
</table>
<table name="platform" phpName="Platform">
<column name="id" type="varchar" required="true" primaryKey="true"/>
<column name="name" type="varchar" size="128" required="true"/>
<column name="moby_id" type="integer"/>
</table>
<table name="version" phpName="Version">
<column name="id" type="varchar" size="24" required="true" primaryKey="true"/>
<column name="major" type="SMALLINT" required="true"/>
<column name="minor" type="SMALLINT" required="true"/>
<column name="patch" type="SMALLINT" required="true"/>
<column name="release_date" type="timestamp" required="true"/>
</table>
<table name="screenshot" phpName="Screenshot">
<!-- id variant platform_id language -->
<column name="id" type="varchar" required="true"/>
<column name="variant" type="varchar" size="255" />
<column name="platform_id" type="varchar" size="24" required="true"/>
<column name="language" type="varchar" size="8" required="true"/>
<column name="variant_id" type="integer"/>
<foreign-key foreignTable="game" onDelete="CASCADE">
<reference local="id" foreign="id"/>
</foreign-key>
<foreign-key foreignTable="platform" onDelete="CASCADE">
<reference local="platform_id" foreign="id"/>
</foreign-key>
</table>
<table name="demo" phpName="Demo">
<column name="id" type="varchar" required="true"/>
<column name="platform_id" type="varchar" size="24" required="true"/>
<column name="category" type="varchar" size="255"/>
<column name="url" type="varchar" size="255"/>
<foreign-key foreignTable="game" onDelete="CASCADE">
<reference local="id" foreign="id"/>
</foreign-key>
<foreign-key foreignTable="platform" onDelete="CASCADE">
<reference local="platform_id" foreign="id"/>
</foreign-key>
</table>
<table name="director_demo" phpName="DirectorDemo">
<column name="id" type="varchar" required="true"/>
<column name="platform_id" type="varchar" size="24" required="true"/>
<column name="lang" type="varchar" size="8"/>
<column name="title" type="varchar" size="255"/>
<column name="version" type="SMALLINT"/>
<column name="url" type="varchar" size="255"/>
<foreign-key foreignTable="platform" onDelete="CASCADE">
<reference local="platform_id" foreign="id"/>
</foreign-key>
</table>
<table name="scummvm_downloads" phpName="Download">
<column name="name" type="varchar" size="255" required="true"/>
<column name="notes" type="varchar" size="255"/>
<column name="subcategory" type="varchar" size="24" required="true"/>
<column name="category" type="varchar" size="24" required="true"/>
<column name="category_icon" type="varchar" size="24"/>
<column name="enabled" type="boolean" />
<column name="user_agent" type="varchar" size="255"/>
<column name="url" type="varchar" size="255" required="true"/>
<column name="version" type="varchar" size="24" required="false"/>
</table>
<table name="game_downloads" phpName="GameDownload">
<column name="category" type="varchar" size="24" required="true"/>
<column name="game_id" type="varchar" size="24" required="true"/>
<column name="category_icon" type="varchar" size="24" required="true"/>
<column name="name" type="varchar" size="255" required="true"/>
<column name="notes" type="varchar" size="255"/>
<column name="url" type="varchar" size="255" required="true"/>
<foreign-key foreignTable="game" onDelete="CASCADE">
<reference local="game_id" foreign="id"/>
</foreign-key>
</table>
</database>