Files
2026-09-15 10:35:56 +08:00

99 lines
6.7 KiB
XML

<?xml version="1.0"?>
<!--
Custom store-specific translations for CMS entities while keeping same page_id/block_id
-->
<schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:Setup/Declaration/Schema/etc/schema.xsd">
<table name="esun_localetranslation_cms" resource="default" engine="innodb" comment="Locale Translation for CMS Entities">
<column xsi:type="int" name="translation_id" unsigned="true" nullable="false" identity="true" comment="Translation ID"/>
<column xsi:type="varchar" name="entity_type" nullable="false" length="32" comment="cms_page or cms_block"/>
<column xsi:type="int" name="entity_id" unsigned="true" nullable="false" comment="CMS Entity ID"/>
<column xsi:type="smallint" name="store_id" unsigned="true" nullable="false" comment="Store ID"/>
<column xsi:type="varchar" name="field_name" nullable="false" length="64" comment="Field code"/>
<column xsi:type="mediumtext" name="translated_value" nullable="true" comment="Translated field value"/>
<column xsi:type="timestamp" name="created_at" on_update="false" nullable="false" default="CURRENT_TIMESTAMP"/>
<column xsi:type="timestamp" name="updated_at" on_update="true" nullable="false" default="CURRENT_TIMESTAMP"/>
<constraint xsi:type="primary" referenceId="PRIMARY">
<column name="translation_id"/>
</constraint>
<constraint xsi:type="unique" referenceId="E3LTC_TRANSLATION_LOOKUP">
<column name="entity_type"/>
<column name="entity_id"/>
<column name="store_id"/>
<column name="field_name"/>
</constraint>
<index referenceId="ESLTC_ENTITY" indexType="btree">
<column name="entity_type"/>
<column name="entity_id"/>
<column name="store_id"/>
</index>
</table>
<table name="esun_localetranslation_log" resource="default" engine="innodb" comment="Automatic Translation API Log">
<column xsi:type="bigint" name="log_id" unsigned="true" nullable="false" identity="true" comment="Log ID"/>
<column xsi:type="varchar" name="provider" nullable="false" length="32" comment="Translation Provider"/>
<column xsi:type="varchar" name="entity_type" nullable="true" length="32" comment="Entity Type"/>
<column xsi:type="int" name="entity_id" unsigned="true" nullable="true" comment="Entity ID"/>
<column xsi:type="varchar" name="field_name" nullable="true" length="128" comment="Field Code"/>
<column xsi:type="smallint" name="source_store_id" unsigned="true" nullable="false" default="0" comment="Source Store ID"/>
<column xsi:type="smallint" name="target_store_id" unsigned="true" nullable="false" comment="Target Store ID"/>
<column xsi:type="varchar" name="source_language" nullable="true" length="16" comment="Source Language"/>
<column xsi:type="varchar" name="target_language" nullable="true" length="16" comment="Target Language"/>
<column xsi:type="mediumtext" name="source_text" nullable="true" comment="Source Text"/>
<column xsi:type="mediumtext" name="translated_text" nullable="true" comment="Translated Text"/>
<column xsi:type="varchar" name="status" nullable="false" length="16" default="success" comment="Status"/>
<column xsi:type="text" name="error_message" nullable="true" comment="Error Message"/>
<column xsi:type="int" name="character_count" unsigned="true" nullable="false" default="0" comment="Source Character Count"/>
<column xsi:type="timestamp" name="created_at" on_update="false" nullable="false" default="CURRENT_TIMESTAMP" comment="Created At"/>
<column xsi:type="timestamp" name="updated_at" on_update="true" nullable="false" default="CURRENT_TIMESTAMP" comment="Updated At"/>
<constraint xsi:type="primary" referenceId="PRIMARY">
<column name="log_id"/>
</constraint>
<index referenceId="ESUN_MLT_LOG_PROVIDER_STATUS" indexType="btree">
<column name="provider"/>
<column name="status"/>
</index>
<index referenceId="ESUN_MLT_LOG_ENTITY" indexType="btree">
<column name="entity_type"/>
<column name="entity_id"/>
</index>
<index referenceId="ESUN_MLT_LOG_CREATED_AT" indexType="btree">
<column name="created_at"/>
</index>
</table>
<table name="esun_localetranslation_queue" resource="default" engine="innodb" comment="Automatic Translation Queue">
<column xsi:type="bigint" name="queue_id" unsigned="true" nullable="false" identity="true" comment="Queue ID"/>
<column xsi:type="varchar" name="batch_id" nullable="false" length="32" comment="Batch ID"/>
<column xsi:type="varchar" name="provider" nullable="false" length="32" comment="Translation Provider"/>
<column xsi:type="varchar" name="entity_type" nullable="false" length="32" comment="Entity Type"/>
<column xsi:type="int" name="entity_id" unsigned="true" nullable="false" comment="Entity ID"/>
<column xsi:type="smallint" name="source_store_id" unsigned="true" nullable="false" default="0" comment="Source Store ID"/>
<column xsi:type="smallint" name="target_store_id" unsigned="true" nullable="false" comment="Target Store ID"/>
<column xsi:type="varchar" name="status" nullable="false" length="16" default="pending" comment="Queue Status"/>
<column xsi:type="smallint" name="attempts" unsigned="true" nullable="false" default="0" comment="Processing Attempts"/>
<column xsi:type="text" name="error_message" nullable="true" comment="Error Message"/>
<column xsi:type="timestamp" name="created_at" on_update="false" nullable="false" default="CURRENT_TIMESTAMP" comment="Created At"/>
<column xsi:type="timestamp" name="started_at" on_update="false" nullable="true" comment="Started At"/>
<column xsi:type="timestamp" name="finished_at" on_update="false" nullable="true" comment="Finished At"/>
<column xsi:type="timestamp" name="updated_at" on_update="true" nullable="false" default="CURRENT_TIMESTAMP" comment="Updated At"/>
<constraint xsi:type="primary" referenceId="PRIMARY">
<column name="queue_id"/>
</constraint>
<index referenceId="ESUN_MLT_QUEUE_STATUS_CREATED" indexType="btree">
<column name="status"/>
<column name="created_at"/>
</index>
<index referenceId="ESUN_MLT_QUEUE_BATCH" indexType="btree">
<column name="batch_id"/>
</index>
<index referenceId="ESUN_MLT_QUEUE_ENTITY" indexType="btree">
<column name="entity_type"/>
<column name="entity_id"/>
</index>
</table>
</schema>