Bonjour,

Je suis en train d'écrire un script de migration entre 2 bases de données mysql hébergées sur le même serveur. La 2eme base de données est une évolution de la première, certains champs sont différents ou dans un ordre différent.

Ce sont une succession de requètes comme celle-ci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
INSERT INTO bdd1.`table1`
	SELECT * 
	FROM `bdd2`.`table1`;
Il y a environ 100 tables à migrer. Je souhaite pouvoir réutiliser le script plus tard. J'aimerais utiliser une variable pour stocker le nom des bases de données, afin qu'il n'y ai que ces variables à modifier entre 2 évolutions du script, plutot que de changer les requètes une par une.

J'ai essayé quelque chose de ce genre :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
SET @dest = '`bdd2`';
SET @source = '`bdd1`';
 
INSERT INTO {$dest}.`table1`
	SELECT * 
	FROM {$source}.`table1`;
Mais celà ne fonctionne pas. Existe-t-il un moyen de le faire ?...