Update the Magento database schema and data
First steps
-
Log in to the Magento server as, or switch to, a user who has permissions to write to the Magento file system. One way to do this is to switch to the Magento file system owner.
If you use the bash shell, you can also use the following syntax to switch to the Magento file system owner and enter the command at the same time:
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:
sudo -u <Magento file system owner> <command>
-
To run Magento commands from any directory, add
<your Magento install dir>/bin
to your systemPATH
.Because shells have differing syntax, consult a reference like unix.stackexchange.com.
bash shell example for CentOS:
export PATH=$PATH:/var/www/html/magento2/bin
You can also run the commands in the following ways:
cd <your Magento install dir>/bin
and run them as./magento <command name>
php <your Magento install dir>/bin/magento <command name>
<your Magento install dir>
is a subdirectory of your web server's docroot. Need help locating the docroot? Click here.
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.
- 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
Command usage:
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.
Related topics
- Installing the Magento software using the command line
- Remove sample data modules or update sample data
- Enable or disable modules
- Display or change the Admin URI
- Uninstall modules
- Create or update the deployment configuration
- Enable or disable maintenance mode
- Create the Magento database schema
- Configure the store
- Create or unlock a Magento administrator
- Back up and roll back the file system, media, and database
- Uninstall themes
- Uninstall language packages
- Uninstall the Magento software
- Update the Magento software
- Reinstall the Magento software