Admin Menu, Multiple Developers and a Shared Database

I'm a big fan of the Admin Menu module. I'm also a big fan our multiple developer development process.

If you're using these two things together (admin menu & shared database) you've probably the problem this will fix. Admin menu caches it's links. That means that if we are sharing a database and separate URL space, admin menu will link to the wrong sandbox. (pointing to /~otheruser/ instead of /~myuser/)

The trick is to prefix your cache tables. In your settings.php after $db_url, define $db_prefix as (with your username instead of

 

$db_prefix = array(
  
'cache' => 'jskulski_',
  
'cache_admin_menu' => 'jskulski_',
  
'cache_menu' => 'jskulski_',
);

?>

 

Then create cache tables in MySQL with commands like:

 

CREATE TABLE jskulski_cache LIKE cache;
CREATE TABLE jskulski_cache_admin_menu LIKE cache_admin_menu;
CREATE TABLE jskulski_cache_menu LIKE cache_menu;

 

This will copy the structure of cache and create the jskulski_cache table. Clear caches and you will enjoy admin_menu immunity!

You can read the Admin Menu issue dealing with this problem.