Прежде всего, создайте db_schema.xml
файл внутри /Vendor/Module/etc
и напишите следующий код:
<?xml version="1.0"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Setup/Declaration/Schema/etc/schema.xsd">
<table name="table_name" resource="default" engine="innodb" comment="comment_here">
<column xsi:type="smallint" name="column_name" padding="6" unsigned="false" nullable="false" identity="true" comment="ID"/>
<column xsi:type="varchar" name="column_name" nullable="false" length="25" comment="Name"/>
<column xsi:type="varchar" name="column_name" nullable="false" length="25" comment="Email"/>
<column xsi:type="varchar" name="column_name" nullable="false" length="255" comment="Descrition"/>
<constraint xsi:type="primary" referenceId="PRIMARY">
<column name="id"/>
</constraint>
</table>
</schema>
<table> .. </table>
= "Использовать для создания и задания имени таблицы"
<column> .. </column>
= "Использовать для создания и установки столбца таблицы"
<constraint> .. </constraint>
= "Использовать для ограничения набора как
первичный ключ, внешний ключ, уникальный ключ и т. д. "
Перед запуском команды обновления вам необходимо добавить схему в файл db_whitelist_schema.json
, выполнив следующую команду:
php bin/magento setup:db-declaration:generate-whitelist --module-name=vendor_module
Теперь существует файл db_whitelist_schema.json, который будет создан в папке /vendor/module/etc
.