Пример схемы для БД (ошибка с перелинковкой) -- propel


<!-- Время подачи машины - "контейнер"/группа для  группировки опций     -->
    <table name="car_arrival_timing_groups" namespace="Logistics" phpName="CarArrivalTimingGroup">
        <column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true"/>
        <column name="name"  type="varchar" size="255"  required="true"/>
        <column name="city_id" type="integer" required="true"/>
        <column name="way_id" type="integer" required="true"/>
        <column name="zone_id" type="integer" required="true"/>
        <column name="removed_at" type="integer"/>
 
        <foreign-key foreignTable="city" phpName="City" onDelete="RESTRICT" onUpdate="CASCADE">
            <reference local="city_id" foreign="id"/>
        </foreign-key>
    </table>
   
    <!-- Время подачи машины - сама опция -->
    <table name="car_arrival_timings" namespace="Logistics" phpName="CarArrivalTiming">
        <column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true"/>
        <column name="car_arrival_timing_group_id" type="integer" required="true" />
        <column name="payment_type"  type="varchar" size="255"  required="true"/> <!-- под вопросом ??? -->
        <column name="week_days"  type="array"  required="true"/> <!-- составной тип -->
        <column name="start_on"  type="date"  required="true"/>
        <column name="end_on"  type="date"   required="true"/>
        <column name="start_at"  type="time"   required="true"/>
        <column name="end_at"  type="time"   required="true"/>
        <column name="min_arrival_time"  type="integer"   required="true"/> <!-- время подачи -->
 
        <foreign-key foreignTable="car_arrival_timing_groups" phpName="CarArrivalTimingGroup"  onDelete="CASCADE">
            <reference local="car_arrival_timing_group_id" foreign="id"/>
        </foreign-key>
    </table>
   
    <!-- Связь времени подачи и типа авто -->
    <table name="car_arrival_timings_cars_types" namespace="Crosses" phpName="CrossCarArrivaTimingCarType" isCrossRef="true">
 
        <column name="car_arrival_timing_group_id" type="integer" required="true" primaryKey="true" />
        <column name="car_arrival_timing_id" type="integer" required="true"   primaryKey="true" />
        <column name="car_type_id" type="integer" required="true" primaryKey="true" />
 
        <foreign-key foreignTable="car_arrival_timing_groups" phpName="CarArrivalTimingGroup"  onDelete="CASCADE">
            <reference local="car_arrival_timing_group_id" foreign="id"/>
        </foreign-key>
        <foreign-key foreignTable="car_arrival_timings" phpName="CarArrivalTiming"  onDelete="CASCADE">
            <reference local="car_arrival_timing_id" foreign="id"/>
        </foreign-key>
        <foreign-key foreignTable="cars_types" phpName="CarType"  onDelete="RESTRICT">
            <reference local="car_type_id" foreign="id"/>
        </foreign-key>
    </table>