Jac*_*hes 2 php magento magento2
我已经写了一个基本的Magento 2自定义模块。我运行时,该模块可以向Magento 2注册bin/magento module:enable <module name>。我已经检查了setup_module表,并且模块条目在那里并且模块已启用。
我在Setup/InstallSchema.php运行时遇到问题。不管我做什么,都不会执行架构安装程序。我认为这是因为当我第一次执行bin/magento setup:upgrade命令时,我有一个空白InstallSchema.php。禁用和重新启用该模块不会执行任何操作。我已经检查了数据库,Magento似乎没有使用数据库来跟踪模块setup_version。我试图找到Magento在磁盘上跟踪当前安装位置的位置,setup_version但到目前为止,我已经绘制了一个空白。我知道Magento可以调用我的模块,因为它Setup/InstallData.php非常愉快地执行了文件。
有人对如何强制Magento 2执行Setup/InstallSchema.php文件有任何想法吗?
你是正确的magento在执行命令InstallSchema时执行一次bin/magento setup:upgrade。您可以UpgradeSchema在安装后为更改创建一个。
请按照以下步骤将您的InstallSchema转换为UpgradeSchema。
1)复制当前InstallSchema文件,并将其重命名为UpgradeSchema。
2)编辑UpgradeSchema.php并找到替换:
{ InstallSchema } => { UpgradeSchema }
{ public function install } => { public function upgrade }
Run Code Online (Sandbox Code Playgroud)
3)变化setup_version="1.0.0"到setup_version="1.0.1"在/app/code/vender/module/etc/module.xml
4)执行 php bin/magento setup:upgrade
希望它能工作.... :)