Update the Magento database schema and data
First steps
-
Log in to the Magento server as, or switch to, a user with permissions to write to the Magento file system. See switch to the Magento file system owner.
If you use the bash shell, you can use the following syntax to switch to the Magento file system owner and enter the command at the same time:
1
su <Magento file system owner> -s /bin/bash -c <command>
If the Magento file system owner does not allow logins, you can do the following:
1
sudo -u <Magento file system owner> <command>
-
To run Magento commands from any directory, add
<magento_root>/bin
to your systemPATH
.Because shells have differing syntax, consult a reference like unix.stackexchange.com.
Sample bash shell for CentOS:
1
export PATH=$PATH:/var/www/html/magento2/bin
Optionally, you can run the commands in the following ways:
cd <magento_root>/bin
and run them as./magento <command name>
<magento_root>/bin/magento <command name>
<magento_root>
is a subdirectory of your web server docroot. Need help locating the docroot?
In addition to the command arguments discussed here, see Common arguments.
Prerequisites
Before you use this command, you must install the Magento software.
Upgrade the Magento database schema and data
Anytime you perform an action that causes the Magento database schema or data to change, you must update them by running the command discussed in this section. A partial list of reasons follows:
- You upgraded the Magento software using the command line
- You installed or updated a component using the command line
- You enabled or disabled a component using the command line
Note the following:
-
If you used the Web Setup Wizard to do any of the preceding, you don’t have to use the command discussed in this topic.
The Web Setup Wizard is being deprecated in Magento 2.3.6 and will be removed in Magento 2.4.0. After it is removed, you must use the command line to install or upgrade Magento.
-
A Magento component can be a module, theme, or language pack; it doesn’t matter whether the component comes from the Magento Marketplace or not
-
Start the upgrade:
1
magento setup:upgrade [--keep-generated]
where
--keep-generated
is an optional argument that does not update static view files. This optional argument is for use only in limited circumstances by experienced system integrators. It should be used only in production mode. It should not be used in developer mode. -
Clean the cache:
1
bin/magento cache:clean