Bonjour,
J'ai actuellement une BDD sur :
- mon poste de travail pro ;
- mon poste de télétravail ;
- le serveur de développement.
Deux autres collègues travaillent aussi sur leur poste de travail et tout est consolidé sur le serveur de dev.
Viendra le moment où il faudra exporter ça sur un serveur de prod.
Quand on fait un export de la BDD avec phpMyAdmin, la réinjection sur un autre poste pose de gros problèmes :
- les foutus DEFINER qui empêchent l'utilisateur applicatif d'utiliser les vues ;
- des vues qui ne sont pas forcément sauvegardées dans le bon ordre, ce qui engendre des erreurs lorsqu'une vue en appelle une autre...
Avec la commande suivante, j'ai un résultat un peu plus exploitable :
Code bash : Sélectionner tout - Visualiser dans une fenêtre à part mysqldump -u un_user_qui_a_les_droits -p -c --default-character-set=utf8 -K -F --order-by-primary --skip-quote-names -R -B la_bdd > chemin/vers/fichier.sql
Au fil du temps vont arriver des patches améliorant ou complétant la structure de la BDD, ses vues et ses procédures.
QUESTION :
Est-il possible de lancer un script sql qui en appelle d'autres afin de charger en enfilade les scripts de toutes les procédures et vues qui ont été dernièrement modifiées, ainsi que les scripts DDL et DML modifiant la structure ou les données de référence ?
Sur Oracle, c'est faisable. Mais avec MySQL/MariaDB ?
Partager