Как создать новую таблицу в magento 2.3 - PullRequest
0 голосов
/ 13 марта 2019

Я хочу создать свою собственную таблицу в моем пользовательском модуле.как его создать в Magento 2.3.Есть ли другой способ установки схемы?Я знаю для magento 1.9.

Ответы [ 2 ]

1 голос
/ 13 марта 2019

Прежде всего, создайте 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.

0 голосов
/ 13 марта 2019

В magento 2.3 появился новый способ установки схемы.Вам необходимо создать новый xml-файл в etc / db_schema.xml для установки схемы.

для более подробной информации, пожалуйста, проверьте файл в vendor / magento / module-cms / etc / db_schema.xml

...