How to rebuild everything that can be rebuild during module development? During module development, Drupal does not use all relevant information provided by a module on every HTTP request. Examples:


Changes to an implementation of hook_menu() are only used after calling menu_rebuild().
Changes to implementations of hook_node_access_records() and hook_node_grants() are only used after calling node_access_rebuild().
Classes referenced in the files[] array of the .info file are only rebuild after enabling the module. During module development, this means it has to be disabled first, along with all other modules that depend on it.


This list might not be exhaustive.

Is there a way to update all these information in the database in one go. Preferably via a Drush command?
drush cc all


Catches most of it. Registry/files[] changes can be tricky, but should work as well in most cases.

Node access records are not rebuilt by that, that wouldn't make sense to me. Unless working on a node access module, you don't want to have that rebuilt, as there could possibly be many nodes which means that this process could take a very long time.