Я устанавливаю magento 2.3 и создаю собственный модуль.
Но я не знаю, как создать собственную таблицу базы данных в версии magento 2.3.
magento2.3
database-schema
суровый кхандхар
источник
источник
Ответы:
Прежде всего, создайте
db_schema.xml
файл внутри/RH/Helloworld/etc
и напишите следующий код:<table> .. </table>
= "Использовать для создания и установки имени таблицы"<column> .. </column>
= "Использовать для создания и установки столбца таблицы"<constraint> .. </constraint>
= "Использовать для установки ограничения как первичный ключ, внешний ключ, уникальный ключ и т. Д."Перед запуском команды обновления вам нужно добавить схему в
db_whitelist_schema.json
файл, выполнив следующую команду:Теперь
db_whitelist_schema.json
в/RH/Helloworld/etc
папке будет создан файл .Теперь беги
php bin/magento s:up
Таблица будет создана внутри базы данных.
=> Если вы хотите переименовать столбец, вам нужно установить следующую строку в
db_schema.xml
соответствующем столбце:здесь name = "имя нового столбца" и onCreate = "migrateDataFrom ()" = "имя старого столбца"
=> Если вы хотите удалить таблицу, то вы можете удалить весь узел таблицы из файла XML или установить для атрибута disabled атрибут true, как показано в строке ниже
db_schema.xml
:Для более подробной информации, вы можете проверить здесь .
Надеюсь, это будет полезно для вас.
источник
Создайте файл с именем db_schema.xml в папке etc в любом пользовательском модуле.
Теперь создайте db_whitelist_schema.json по тому же пути
После этого просто запустите php bin / magento setup: upgrade . Для получения дополнительной информации вы можете проверить здесь . Дайте мне знать, если вам нужно больше объяснений по этому поводу.
источник
В основных модулях Magento 2.3 вместо сценария обновления установки используется подход декларативной схемы. Это новый рекомендуемый подход в Magento 2.3 и выше. Magento 2.3.x по-прежнему работает с InstallSchema, InstallData и т. Д.
источник