<?xml version="1.0" encoding="UTF-8"?>
<database name="default" namespace="FOS\UserBundle\Propel" defaultIdMethod="native">

    <table name="fos_user" phpName="User">
        <column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true" />
        <column name="username" type="varchar" size="255" primaryString="true" />
        <column name="username_canonical" type="varchar" size="255" />
        <unique>
            <unique-column name="username_canonical" />
        </unique>

        <column name="email" type="varchar" size="255" />
        <column name="email_canonical" type="varchar" size="255" />
        <unique>
            <unique-column name="email_canonical" />
        </unique>

        <column name="enabled" type="boolean" defaultValue="false" />
        <column name="salt" type="varchar" size="255" required="true" />
        <column name="password" type="varchar" size="255" required="true" />
        <column name="last_login" type="timestamp" required="false" />
        <column name="locked" type="boolean" defaultValue="false" />
        <column name="expired" type="boolean" defaultValue="false" />
        <column name="expires_at" type="timestamp" required="false" />
        <column name="confirmation_token" type="varchar" size="255" required="false" />
        <column name="password_requested_at" type="timestamp" required="false" />
        <column name="credentials_expired" type="boolean" defaultValue="false" />
        <column name="credentials_expire_at" type="timestamp" required="false" />
        <column name="roles" type="array" />

        <behavior name="typehintable">
            <parameter name="last_login" value="DateTime" />
            <parameter name="password_requested_at" value="DateTime" />
            <parameter name="roles" value="array" />
            <parameter name="fos_group" value="FOS\UserBundle\Model\GroupInterface" />

            <parameter name="nullable_columns" value="password_requested_at, expires_at, last_login, credentials_expire_at" />
        </behavior>
    </table>

    <table name="fos_group" phpName="Group">
        <column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true" />
        <column name="name" type="varchar" size="255" required="true" primaryString="true" />
        <column name="roles" type="array" />

        <behavior name="typehintable">
            <parameter name="roles" value="array" />
        </behavior>
    </table>

    <table name="fos_user_group" phpName="UserGroup" isCrossRef="true">
        <column name="fos_user_id" type="integer" required="true" primaryKey="true" />
        <column name="fos_group_id" type="integer" required="true" primaryKey="true" />
        <foreign-key foreignTable="fos_user">
            <reference local="fos_user_id" foreign="id" />
        </foreign-key>

        <foreign-key foreignTable="fos_group">
            <reference local="fos_group_id" foreign="id" />
        </foreign-key>
    </table>
</database>
