<?xml version="1.0"?>
<!--
/**
 * @category   Webkul
 * @package    Webkul_GoogleShoppingFeed
 * @author     Webkul Software Private Limited
 * @copyright  Copyright (c) Webkul Software Private Limited (https://webkul.com)
 * @license    https://store.webkul.com/license.html
 */
-->
<schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Setup/Declaration/Schema/etc/schema.xsd">
    <table name="google_shopping_field_feeds" resource="default" engine="innodb" comment="Google Shopping Field Feeds">
        <column xsi:type="int" name="entity_id" padding="10" unsigned="true" nullable="false" identity="true" comment="Entity Id"/>
        <column xsi:type="varchar" name="attribute_code" nullable="true" length="255" comment="Magento Product Attribute Code"/>
        <column xsi:type="varchar" name="google_feed_field" nullable="true" length="255" comment="Google shopping feed field"/>
        <column xsi:type="timestamp" name="created_at" on_update="false" nullable="false" default="CURRENT_TIMESTAMP" comment="Feed mapped time"/>
        <constraint xsi:type="primary" referenceId="PRIMARY">
            <column name="entity_id"/>
        </constraint>
        <index referenceId="GOOGLE_SHOPPING_FIELD_FEEDS_ENTITY_ID" indexType="btree">
            <column name="entity_id"/>
        </index>
    </table>
    <table name="google_shopping_category_map" resource="default" engine="innodb" comment="Google Shopping Category Map">
        <column xsi:type="int" name="entity_id" padding="10" unsigned="true" nullable="false" identity="true" comment="Entity Id"/>
        <column xsi:type="int" name="store_category_id" padding="10" unsigned="true" nullable="false" identity="false" comment="Magento Category Id"/>
        <column xsi:type="varchar" name="google_feed_category" nullable="true" length="255" comment="Google shopping feed category"/>
        <column xsi:type="timestamp" name="created_at" on_update="false" nullable="false" default="CURRENT_TIMESTAMP" comment="Category mapped time"/>
        <constraint xsi:type="primary" referenceId="PRIMARY">
            <column name="entity_id"/>
        </constraint>
        <index referenceId="GOOGLE_SHOPPING_CATEGORY_MAP_ENTITY_ID" indexType="btree">
            <column name="entity_id"/>
        </index>
    </table>
    <table name="google_feed_category" resource="default" engine="innodb" comment="Google Shopping Category">
        <column xsi:type="int" name="entity_id" padding="10" unsigned="true" nullable="false" identity="true" comment="Entity Id"/>
        <column xsi:type="varchar" name="level0" nullable="true" length="255" comment="level 0"/>
        <column xsi:type="varchar" name="level1" nullable="true" length="255" comment="level 1"/>
        <column xsi:type="varchar" name="level2" nullable="true" length="255" comment="level 2"/>
        <column xsi:type="varchar" name="level3" nullable="true" length="255" comment="level 3"/>
        <column xsi:type="varchar" name="level4" nullable="true" length="255" comment="level 4"/>
        <column xsi:type="varchar" name="level5" nullable="true" length="255" comment="level 5"/>
        <column xsi:type="varchar" name="level6" nullable="true" length="255" comment="level 6"/>
        <constraint xsi:type="primary" referenceId="PRIMARY">
            <column name="entity_id"/>
        </constraint>
        <index referenceId="GOOGLE_FEED_CATEGORY_ENTITY_ID" indexType="btree">
            <column name="entity_id"/>
        </index>
    </table>
    <table name="google_feed_product_map" resource="default" engine="innodb" comment="Google Feed Map With Mage Product">
        <column xsi:type="int" name="entity_id" padding="10" unsigned="true" nullable="false" identity="true" comment="Entity Id"/>
        <column xsi:type="varchar" name="feed_id" nullable="true" length="255" comment="Google Feed Id"/>
        <column xsi:type="int" name="mage_pro_id" padding="10" unsigned="true" nullable="false" identity="false" comment="Magento Product Id"/>
        <column xsi:type="int" name="store_id" padding="10" unsigned="true" nullable="false" identity="false" comment="Magento Store Id"/>
        <column xsi:type="timestamp" name="expired_at" on_update="false" nullable="false" default="CURRENT_TIMESTAMP" comment="Product mapped expired at"/>
        <constraint xsi:type="primary" referenceId="PRIMARY">
            <column name="entity_id"/>
        </constraint>
        <index referenceId="GOOGLE_FEED_PRODUCT_MAP_ENTITY_ID" indexType="btree">
            <column name="entity_id"/>
        </index>
    </table>
</schema>
