<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="TempTable" type="TableType">
  </xs:element>
  <xs:element name="DBTable" type="TableType">
  </xs:element>
  <xs:complexType name="TableType">
    <xs:sequence minOccurs="1" maxOccurs="1">
      <xs:element name="columns" type="ColumnsType" minOccurs="1" maxOccurs="1"/>
      <xs:element name="indexes" type="IndexesType" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="name" type="xs:string"/>
    <xs:attribute name="schemaVersion" type="xs:string"/>
    <xs:attribute name="namespace" type="xs:string"/>
  </xs:complexType>
  <xs:complexType name="ColumnsType">
    <xs:sequence minOccurs="1" maxOccurs="1">
      <xs:element name="column" type="ColumnType" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ColumnType">
    <xs:attribute name="name" type="xs:string" use="required"/>
    <xs:attribute name="domain" type="xs:string" use="required"/>
    <xs:attribute name="nullable" type="xs:string" />
    <xs:attribute name="defaultValue" type="xs:string"/>
    <xs:attribute name="migrationDefault" type="xs:string"/>
  </xs:complexType>
  <xs:complexType name="IndexesType">
    <xs:sequence minOccurs="1" maxOccurs="1">
      <xs:element name="index" type="IndexType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="IndexType">
    <xs:sequence minOccurs="1" maxOccurs="1">
      <xs:element name="column" type="IndexColumnsType" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="name" type="xs:string" use="required"/>
    <xs:attribute name="unique" type="xs:string" />
  </xs:complexType>
  <xs:complexType name="IndexColumnsType">
    <xs:attribute name="name" type="xs:string" use="required"/>
  </xs:complexType>
</xs:schema>