N'utilisez pas le même fichier de paramètres que celui que vous proposez avec votre pseudocode. Utilisez plutôt trois fichiers de paramètres différents dans trois dossiers différents, chaque dossier correspondant au nom de domaine de chacune de vos instances.
Au minimum, chaque environnement utilise généralement un hôte de base de données distinct. D'autres paramètres qui peuvent différer d'un environnement à l'autre peuvent inclure l'hôte Apache Solr, les paramètres memcached, le dossier temporaire et le dossier de fichiers, pour n'en nommer que quelques-uns. Vous pouvez placer tous ces éléments là-bas. Lorsque vous migrez votre base de données de PROD vers TEST vers DEV, elle récupère automatiquement les paramètres que vous avez spécifiés.
Imaginez que mon site s'appelle myfoobarsite.com. Voici à quoi ressemblerait ma structure de paramètres:
/htdocs
../sites
..../default
....../default.settings.php
..../dev.myfoobarsite.com (DEV)
....../settings.php
..../qa.myfoobarsite.com (TEST)
....../settings.php
..../myfoobarsite.com (PROD)
....../settings.php
J'ai également généralement deux instances locales du site, l'une avec le dernier instantané de base de données de PROD et l'autre où je conserve toutes mes modifications. Ceci est très utile lorsque vous travaillez avec des fonctionnalités et vous permet de tester vos fonctionnalités par rapport à la base de données de production (localement) avant de valider. Voici la structure modifiée:
/htdocs
../sites
..../default
..../dev.myfoobarsite.com (DEV)
..../qa.myfoobarsite.com (TEST)
..../myfoobarsite.com (PROD)
..../mfbs.local (LOCAL ONE)
....../settings.php
..../mfbs2.local (LOCAL TWO)
....../settings.php
Quant à vos instances locales, n'oubliez pas de faire les entrées appropriées dans le /etc/hosts
fichier et de modifier vos paramètres d'hôte Apache.
Au cas où, j'ai également placé un extrait du fichier settings.php pour obtenir des conseils:
<?php
$databases['default']['default'] = array(
'database' => 'myfoobarsite',
'username' => 'foo',
'password' => 'bar',
'host' => '127.0.0.1',
'port' => '3306',
'driver' => 'mysql',
'prefix' => '',
);
/**
* Apache Solr settings.
* Use the acquia_identifier/acquia_key when hosting w/ Acquia.
* Specify only the apachesolr_path key for your local instance
* or instances that do not use Acquia.
*/
//$conf["acquia_identifier"] = "ABCD-12345";
//$conf["acquia_key"] = "1234f05ab12345dc1234a1234bbc1c12";
$conf["apachesolr_path"] = "http://localhost:8983/solr";
/**
* Filesystem settings (MAC OS X, LOCAL)
*/
$conf["file_public_path"] = "sites/default/files";
$conf["file_temporary_path"] = "/Users/amateurbarista/tmp";
$conf["file_private_path"] = "/Users/amateurbarista/Sites/tfk/private";
Enfin, si vous hébergez avec Acquia, vous devrez aller http://myfoobarsite.com/admin/config/system/acquia-agent
et cliquer sur "effacer les clés" à chaque fois que vous migrez la base de données. Cela entraînera Drupal à supprimer les clés fournies avec la base de données importée et à récupérer celles spécifiées dans le fichier de paramètres.