ddev : commandes fréquentes
https://docs.docker.com/engine/reference/commandline/
Vers Test de ddev,
commandes de base
https://ddev.readthedocs.io/en/latest/users/cli-usage/#getting-started
ddev config : à faire que lors install (quand on est dans son "dossier-projet") + tente de créer db *
Crée (sur l'hote) : dossier-projet-courrant/.ddev/config.yaml (ports...)
* Diverses règles, qui font que ddev a tendance à "prendre la main" (voire recréer) sur les settings.php et settings.local.php :
- Si settings.php n'existe pas, le créer.
- S'il y a un settings.php géré par DDEV, le re-créer.
- S'il y a un settings.php et qu'il n'est pas géré par DDEV, alors ddev config crée un settings.local.php => penser à modifier le settings.php (y activer le settings.local.php)
- S'il y a un settings.local.php géré par DDEV manages, le recréer.
- S'il y a un settings.local.php non géré par ddev, avertir l'utilisateur et continuer.
ddev start
accès ssh (on arrive dans /var/www/html) : ddev ssh
voir logs : ddev logs
(ou ddev logs -f
et ctrl+c)ddev ssh cat /var/log/php-fpm.log
ddev list : projets en coursddev describe
: affiche user/pw et liens d'administration + ports
coté db
Ddev crée une machine db, une base db avec le user configuré (db/db) pour le drupal, et le settings.php qui va avec (protégé en écriture). Par défaut, le user de mysql est root/root. Le port change à chaque restart, donc faire un describe pour le trouver (suivi de mysql --host=127.0.0.1 --port=port --user=root --password=root).
L'import prend divers formats (.sql, sql.gz, tar, tar.gz, et zip) : ddev import-db --src=dumpfile.sql.gzddev import-files
dans sites/default/files (formats: dossier, zip, .tar, .tar.gz, .tgz)
backup (sur hote) :
ddev ssh
mkdir /var/www/html/.tarballs
mysqldump db | gzip >/var/www/html/.tarballs/db.sql.gz
ddev exec
lance commande dans un contener (par défaut en docroot et contener web)
ex (lance le client mysql) : ddev exec --service db mysql
; ddev exec drush status = ddev . drush status
se loguer sur le contener db : ddev ssh --service db
ddev remove :
Commande "non destructive" : efface les conteners, mais pas la db du projet (ni le code et fichiers du projet).
-
etre dans un dossier de projet ddev remove -> efface les conteners. Ou
ddev remove <projectname>
-
effacer la db importée d'un projet et conteners:
ddev remove --remove-data
Composer sur le serveur de test
nom-projet$ ddev composer require drupal/migrate_upgrade:^3
ou à la main nom-projet/composer.json
Depuis son poste hote : utiliser outils de dev
db
Voir le port (change à chaque start/stop) avec ddev describe
mysql --host 127.0.0.1 --port num_port
drush
Pour utiliser le drush installé sur l'hote :
-
définir un fichier
/pathTo/MonRootDossier/drush.settings.php
Faire un describe pour voir le port et<?php $databases['default']['default'] = array( 'database' => "db", 'username' => "db", 'password' => "db", 'host' => "127.0.0.1", 'driver' => "mysql", 'port' => <YOUR_PROJECT_DB_PORT>, 'prefix' => "", );
-
et le settings.php du site doit etre configuré pour charger le
drush.settings.php
if (!empty($_SERVER["argv"]) && strpos($_SERVER["argv"][0], "drush") && empty($_ENV['DEPLOY_NAME'])) { include __DIR__ . '../../../drush.settings.php'; }
Ces fichiers de conf sont automatiquement créés si on a fait ddev import-db
dans un projet sans fichier settings.php
Configurer nginx
https://ddev.readthedocs.io/en/latest/users/extend/customization-extendi...
Voir ddev nginx configs (montre les conf par défaut pour les applis). Additional configuration examples et documentation nginx wiki
Plus sur le web
https://stackoverflow.com/questions/tagged/ddev+drupal?sort=votes
https://stackoverflow.com/questions/tagged/ddev
Chat https://drupal.slack.com/ (Channel migration, ddev...)