I am trying to find best approach for tracking custom modules using git(or any other SCM).
My question is very similar to existing one: https://community.sugarcrm.com/thread/24855
however not exactly same.
Let say that we have test, staging and production servers and that every developer have their own dev computer.
Now we have administrator who will create all custom fields for default modules and also will create some custom modules, and that will be probably done on test machine, and everything will be tracked using git, and we will manage to keep track of all sql queries that we will need to execute(related to fields_meta_data table changes, while other changes should be caught when we do repair and rebuild). I guess this all should be fine, please let me know if I am doing something wrong!
Now, after I deploy custom modules using git to staging server(or any other server outside test server, where these modules are generated and customized), module is created, database is updated(during Repair and Rebuild or via custom sql too), but module is not visible via Module Loader and I am not able to uninstall it, like I am able to do on CRM instance where module is generated. Off course I can uninstall it manually, but it would take me much time to get all files that I need to remove, remove db tables, maybe update some tables too in db...
Finally my question is this best approach or there is better way to move modules from one Sugarcrm instances into another(please note that process need to be automated as much as possible, without manually installing module on targeted CRM instances).