Book Image

Magento 2 Cookbook

Book Image

Magento 2 Cookbook

Overview of this book

Magento 2 is an open source e-commerce platform that has all the functionality to function from small to large online stores. It is preferred by developers and merchants due to its new architecture, which makes it possible to extend the functionalities with plugins, a lot of which are now created by the community. This merchant and developer guide is packed with recipes that cover all aspects of Magento 2. The recipes start with simple how-to’s then delve into more advanced topics as the book progresses. We start with the basics of setting up a Magento 2 project on Apache or Nginx. Next, you will learn about basics including system tools and caching to get your Magento 2 system ready for the real work. We move on to simple tasks such as managing your store and catalog configuration. When you are familiar with this, we cover more complex features such as module and extension development. Then we will jump to the final part: advanced Magento 2 extensions. By the end of this book, you’ll be competent with all the development phases of Magento 2 and its most common elements.
Table of Contents (16 chapters)
Magento 2 Cookbook
Credits
Foreword
About the Authors
About the Reviewer
www.PacktPub.com
Preface
Index

Creating tables using setup scripts


When using database models, as explained in the previous recipe, the corresponding tables needs to be created during setup. These operations are placed in setup scripts and executed during the installation of an extension.

Getting ready

While running the installation of a module, there are four files executed to create schemas and insert data. To create schemas, the files used are as follows:

Setup/InstallSchema.php

Setup/UpgradeSchema.php

The installation file is executed only when there is no record in the setup_module table for the module. The upgrade file is executed only when the current version number in the setup_module table is lower than the version configured in your etc/module.xml file.

When it's necessary to insert default values into a table or new EAV attributes need to be created, these actions need to be configured in the following files:

Setup/InstallData.php

Setup/UpgradeData.php

Magento keeps track of which version is installed for an extension...