<?xml version="1.0"?>
<!--
    db_schema.xml
    Correspondance complète du UpgradeSchema jusqu'à la version 1.1.3
-->
<schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="urn:magento:framework:Setup/Declaration/Schema/etc/schema.xsd">

    <!-- ========================================================= -->
    <!-- 1️⃣ sales_order_address : ajout de 2 colonnes             -->
    <!-- ========================================================= -->
    <table name="sales_order_address" resource="sales">
        <column xsi:type="varchar" name="mondialrelay_pickup_id" length="10" nullable="true" comment="Mondial Relay Pickup Id"/>
        <column xsi:type="varchar" name="mondialrelay_code" length="4" nullable="true" comment="Mondial Relay Code"/>
    </table>

    <!-- ========================================================= -->
    <!-- 2️⃣ sales_order : ajout de la colonne packaging_weight    -->
    <!-- ========================================================= -->
    <table name="sales_order" resource="sales">
        <column xsi:type="float" name="mondialrelay_packaging_weight" nullable="true" default="0"
                comment="Mondial Relay Packaging Weight"/>
    </table>

    <!-- ========================================================= -->
    <!-- 3️⃣ quote_mondialrelay_pickup : création complète          -->
    <!-- ========================================================= -->
    <table name="quote_mondialrelay_pickup"
           resource="checkout"
           engine="innodb"
           comment="Quote Mondial Relay Pickup Data">

        <!-- Colonnes principales -->
        <!--<column xsi:type="varchar" name="quote_id" length="10" nullable="false" comment="Quote Id"/> -->
        <column xsi:type="int" name="quote_id" padding="10" nullable="false" unsigned="true" comment="Quote Id"/>
        <column xsi:type="varchar" name="pickup_id" length="10" nullable="true" comment="Pickup Id"/>
        <column xsi:type="varchar" name="country_id" length="2" nullable="true" comment="Country Id"/>
        <column xsi:type="varchar" name="code" length="4" nullable="true" comment="Mondial Relay Code"/>
        <column xsi:type="varchar" name="company" length="255" nullable="true" comment="Pickup Company"/>
        <column xsi:type="varchar" name="street" length="255" nullable="true" comment="Pickup Street"/>
        <column xsi:type="varchar" name="postcode" length="255" nullable="true" comment="Pickup Postcode"/>
        <column xsi:type="varchar" name="city" length="255" nullable="true" comment="Pickup City"/>

        <!-- Contraintes -->
        <constraint xsi:type="primary" referenceId="PRIMARY">
            <column name="quote_id"/>
        </constraint>

        <constraint xsi:type="foreign"
                    referenceId="QUOTE_MONDIALRELAY_PICKUP_QUOTE_ID_QUOTE_ENTITY_ID"
                    table="quote_mondialrelay_pickup"
                    column="quote_id"
                    referenceTable="quote"
                    referenceColumn="entity_id"
                    onDelete="CASCADE"/>

        <!-- Index unique -->
        <constraint xsi:type="unique" referenceId="QUOTE_MONDIALRELAY_PICKUP_QUOTE_ID">
            <column name="quote_id"/>
        </constraint>

    </table>

</schema>