[Résolu] mise en prod de mon site test : question au niveau des BDD

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Je vais dupliquer mon drupal du site test vers le site prod. J'ai un server test et un serveur prod pour mes pages, et un unique serveur de bdd avec une base test et une base prod.

Lors d'une discussion au mois d'octobre, on m'a dit "il suffit de dupliquer tes tables de la base test vers la base prod, et de dupliquer les pages du serveur test vers le serveur prod...."

Or le nom de la bdd associée est différent, et il me faudra probablement retoucher un fichier php dans lequel sont stockées les infos de connexion bdd pour mettre le nom de la base prod (sinon on irait toujours dans la base test !)

Quel est le fichier php du coeur de mon drupal 6.19 qui contient le nom de la bdd associée ? merci de me donner le chemin vers le ou les fichier(s) où je dois effectuer cette modif

Thx

Version de Drupal : 
Tags : 

Salut,

Le fichier que tu veux modifier est :

sites/default/settings.php

Il y a une ligne dans ce fichier qui commence par :

$db_url = ...

qui contient toutes les informations de connexion à la BDD (nom de la base, mot de passe...).

C'est exactement l'info dont j'avais besoin : une fois dupliquées mes tablesvers ma base prod et envoyé tous mes fichiers de site test vers le serveur prod, je n'aurai donc logiquement que cette ligne à modifier pour que le site prod foctionne.

Thx

En fait, y a encore mieux : tu peux garder en permanence deux fichiers settings.php. L'un contiendra les infos du site de dévt, l'autre les infos du site de prod. Ça t'évite de devoir modifier le fichier à chaque passage en production.

Prenons un exemple : ton site de dévt est un site que tu développes sur ta machine locale et auquel tu accèdes via http://localhost, et ton site de prod est sur http://www.monsite.com.

Il te suffit d'organiser les fichiers settings.php de la façon suivante sur ton serveur :

/sites
  /all
    /modules
    /themes
  /defaut
    ...               // ici, tu ne mets rien
  /localhost
    settings.php      // infos pour le dévt
  /www.monsite.com
    settings.php      // infos pour la prod

Il n'y a rien d'autre à faire que de créer les bons répertoires (il faut nommer les répertoires comme les domaines via lesquels tu accèdes à ton site). C'est ensuite Drupal qui se chargera d'utiliser le bon settings.php en fonction du domaine via lequel tu accèdes à ton site.

C'est certes très astucieux, mais l'infrastructure de mon établissement impose
-un site test ET un site prod distincts, accessibles par samba sur serveur Apache
-1 serveur bdd distinct avec une base test et une base prod
(je n'ai pas le choix)

Je me suis peut-être mal expliqué : la seule chose que fait le code que je t'ai montré, c'est de t'éviter de "bidouiller" ton fichier settings.php à chaque fois que tu passes de test en prod, en te permettant de maintenir deux copies distinctes du fichier settings.php (une pour le test, une pour la prod).

A part ça, cela ne change rien à ton architecture (il y a toujours deux bases de données, deux serveurs différents pour le test et la prod...).

C'est bien ce que j'avais pigé mais ce que je veux dire, c'est que l'établissement tient à ce que les sites test et prod coexistent et que tout le monde (y compris les rédacteurs de CMS) fasse le travail sur le site test JUSQU'A SATISFACTION avant de le refaire sur le site prod de façon définitive. Cette gestion est certe lourde mais nous évite des problèmes en prod.

Je ne bidouillerai mon settings.php qu'une fois pour toute lors de la création du site prod