Before releasing the Declarative Schema, Magento developers had to write database scripts in PHP for each new version of the module. This approach has caused a lot of daily and useless work. But now it's all in the past! Declarative Schema aims to simplify the Magento installation and upgrade processes.
A new approach to the declarative scheme allows developers to declare the final desired state of the database and forces the system to adapt to it automatically, without performing unnecessary operations. Developers are no longer forced to write scripts for each new version.
The declarative schema even takes care of missing relations or any other errors by providing a dry-run mode to test the installation. But everything is not that smooth. The Declarative Scheme does not process all the data automatically. So you should do some work manually. For example, the tool cannot convert everything in the Magento 2.3 script. In general, the declarative scheme is both awesome and troublesome.
Wanna know all the pros and cons of this tool? Then come to great speech about Mastering Declarative Schema by Max Pronko! There you'll discover more about this tool and get useful information about troubleshooting. See you in Kyiv on September 28, 2019, at MageCONF 2019 conference. Don't lose this opportunity to attend the biggest Ukrainian Magento event of the year!