So let’s see if I have figured the Drupal/Composer work flow:
Given that using Update Manager and Composer are not the best idea on a production site. Also since I’m on a shared server at a Hosting Company (HostGator) I can’t run composer on the same server as the production site. Because of that I will have a Linux PC with Composer and Drush for development and testing.
On the Development PC:
- install Drupal and modules with composer/drush to match the current production site.
- import a copy of the production database
- test to ensure the development site is working the same as the production site.
- add Drupal and associated modules (install or upgrade) using composer and drush.
- test the development environment to ensure upgrades/installs were successful.
- FTP the files (except for settings.php) to the production environment
On the Production Server:
- run update.php
- test production site
What am I missing?
- Where is the information kept so that Drupal knows what needs to be updated?
- If I have added modules or upgraded modules on the development server and enabled them with drush, will the modules be enabled on the production server once they have been ftp’d?
- I assume that since I have not copied the development database back to the production server, new configuration changes (eg new rules for the Rules module) will need to be recreated in the production environment.