Add support for Postgres range partition DDL plus refactor xsd definitions that had got out of sync (#1465)

* Add partition meta mapping

* Fix to allow schema prefix on select dynamic formula

* Add partition meta mapping

* Migration XSD Update

* Fix to allow schema prefix on select dynamic formula

* Bump ebean-migration to 11.8.1
This commit is contained in:
Rob Bygrave authored and GitHub committed 2018-08-08 23:29:29 +12:00
1 parent c9497fd654
commit ded7d44974
46 files changed
+639 -290

No files matched your search

+36 -4
View File
@@ -37,9 +37,17 @@
<xsd:enumeration value="apply"/>
<xsd:enumeration value="pendingDrops"/>
<xsd:enumeration value="baseline"/>
<xsd:enumeration value="drop"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="ddl-script">
<xsd:sequence>
<xsd:element name="ddl" type="xsd:string" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="platforms" type="xsd:string"/>
</xsd:complexType>
<!-- =========================================================== -->
<!-- CHANGE SET CHILDREN -->
<!-- =========================================================== -->
@@ -99,6 +107,8 @@
<xsd:element ref="foreignKey" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="partitionMode" type="xsd:string"/>
<xsd:attribute name="partitionColumn" type="xsd:string"/>
<xsd:attribute name="withHistory" type="xsd:boolean"/>
<xsd:attribute name="draft" type="xsd:boolean"/>
<xsd:attribute name="identityType" type="identityType"/>
@@ -125,6 +135,18 @@
<xsd:complexType>
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="columnNames" type="xsd:string" use="required"/>
<xsd:attribute name="oneToOne" type="xsd:boolean"/>
<xsd:attribute name="nullableColumns" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="addUniqueConstraint">
<xsd:complexType>
<xsd:attribute name="constraintName" type="xsd:string" use="required"/>
<xsd:attribute name="tableName" type="xsd:string" use="required"/>
<xsd:attribute name="columnNames" type="xsd:string" use="required"/>
<xsd:attribute name="oneToOne" type="xsd:boolean"/>
<xsd:attribute name="nullableColumns" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
@@ -157,6 +179,8 @@
<xsd:element name="dropTable">
<xsd:complexType>
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="sequenceCol" type="xsd:string"/>
<xsd:attribute name="sequenceName" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
@@ -216,6 +240,10 @@
<xsd:element name="alterColumn">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="before" minOccurs="0" maxOccurs="unbounded" type="ddl-script"/>
<xsd:element name="after" minOccurs="0" maxOccurs="unbounded" type="ddl-script"/>
</xsd:sequence>
<xsd:attribute name="columnName" type="xsd:string" use="required"/>
<xsd:attribute name="tableName" type="xsd:string" use="required"/>
<xsd:attribute name="withHistory" type="xsd:boolean"/>
@@ -236,8 +264,8 @@
<xsd:attribute name="references" type="xsd:string"/>
<xsd:attribute name="foreignKeyName" type="xsd:string"/>
<xsd:attribute name="foreignKeyIndex" type="xsd:string"/>
<xsd:attribute name="foreignOnDelete" type="xsd:string"/>
<xsd:attribute name="foreignOnUpdate" type="xsd:string"/>
<xsd:attribute name="foreignKeyOnDelete" type="xsd:string"/>
<xsd:attribute name="foreignKeyOnUpdate" type="xsd:string"/>
<xsd:attribute name="dropForeignKey" type="xsd:string"/>
<xsd:attribute name="dropForeignKeyIndex" type="xsd:string"/>
</xsd:complexType>
@@ -269,11 +297,14 @@
</xsd:complexType>
</xsd:element>
<!-- ============================================ -->
<xsd:element name="column">
<xsd:complexType mixed="true">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="before" minOccurs="0" maxOccurs="unbounded" type="ddl-script"/>
<xsd:element name="after" minOccurs="0" maxOccurs="unbounded" type="ddl-script"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="type" type="xsd:string" use="required"/>
<xsd:attribute name="defaultValue" type="xsd:string"/>
@@ -310,6 +341,7 @@
<xsd:element ref="dropTable" maxOccurs="unbounded"/>
<xsd:element ref="renameTable" maxOccurs="unbounded"/>
<xsd:element ref="addTableComment" maxOccurs="unbounded"/>
<xsd:element ref="addUniqueConstraint" maxOccurs="unbounded"/>
<xsd:element ref="addHistoryTable" maxOccurs="unbounded"/>
<xsd:element ref="dropHistoryTable" maxOccurs="unbounded"/>
@@ -18,6 +18,8 @@
<xsd:extension base="xsd:string">
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="platforms" type="xsd:string"/>
<xsd:attribute name="init" type="xsd:boolean"/>
<xsd:attribute name="drop" type="xsd:boolean"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>