If you are developing a small static website, I agree with most of the questions already made. However, if you have a website that allows users to add content through a production site, I would say that placing the configuration in the database complicates the deployment pipeline to the point that saving it from the database is preferable.
If you are trying to redirect the update from dev to production, clients are pushing the content to production, and your config and content are in the same database, then you need to target only tables with configuration data that will be overwritten. It may be a trivial amount of extra work on your part, but it depends on the size of the application and whether you use any elses code. Browse Drupal Sites. If users add content, then for deployment you need to target specific database tables to be overwritten. Since drupal has several tables (none of which have a configuration in their names), you need to do some research to find out what can be rewritten and what cannot. Now, what happens if something changes in the layout of the drupal database? The deployment pipeline might break, and for you, this will work more. What happens when you add a new plugin? Additional configuration tables, so changes to deployment scenarios are needed. More work for you. If you end up moving from this project, you should leave the information with the new developer to explain what you did about these deployment issues. More work for you.
Think about what happens if the configuration was not in the database but in the application directory structure. Save the configuration changes to git / svn / etc, click on the changes in the server field and overwrite the old files. MADE. The database will be less affected when the changes are deployed, your configuration can be installed under version control, and your application is now directly connected to the configuration in which it is used (which makes sense). This is more valuable for medium / large-scale applications or applications that use pre-created components / frameworks that you do not control, and then for small applications. However, it works at all scales, as saving configurations in databases becomes more difficult as your applications grow, and the deployment pipeline becomes complex.
source share