...
Andiamo all'interno della cartella che vogliamo usare come sorgente per importare i dati, ad esempio la cartella /myconf del modello cdl00 di UNIPVd9. Eliminiamo tutti i file all'interno di questa cartella -insegnamenti nella root di UNIPVd9, e creiamo due nuovi file:
...
Code Block |
---|
#!/bin/bash DRUSHSCRIPT=/drupal/dim_prod/dim/external/drush10/vendor/bin/drush DRUSHALIAS=/drupal/dim_prod/dim/var/build/drush_aliases/8 SITE=unipvd9 array=( cdl00 ) ENV=prod DENV=prod MYCONF=myconf-insegnamenti REPLACESQL=replace.en.insegnamenti.sql DENV=prod for i in "${array[@]}" do # per il calcolo grossolano dei tempi start=`date +%s` rm /shared/dim_prod/${ENV}/${SITE}/${i}/files/myconf/*.yml cp /shared/dim_prod/${ENV}/${SITE}/${MYCONF}/*.yml /shared/dim_prod/${ENV}/${SITE}/${i}/files/myconf/ cp /shared/dim_prod/${ENV}/${SITE}/${MYCONF}/*.sql /shared/dim_prod/${ENV}/${SITE}/${i}/files/myconf/ cd /shared/dim_prod/${ENV}/${SITE}/${i}/files/myconf/ echo "---------- ${i} ${DENV} ------------" # cd /shared/dim_prod/prod/unipvd9/cdl00/files/myconf/ echo "-- importazione viste --" $DRUSHSCRIPT --alias-path=$DRUSHALIAS @${SITE}-${i}.${DENV} config-import --partial --yes echo "-- importazione delle traduzioni delle viste --" $DRUSHSCRIPT --alias-path=$DRUSHALIAS @${SITE}-${i}.${DENV} sqlc < ${REPLACESQL} echo "-- pulizia cache --" $DRUSHSCRIPT --alias-path=$DRUSHALIAS @${SITE}-${i}.${DENV} cr end=`date +%s` runtime=$((end-start)) echo "-- ${i} done in ${runtime} sec" echo "---------------------" cd /shared/dim_prod/${ENV}/${SITE}/ done |
jjjjjjjjjjjjjjjjjjjjQuesto codice fa in modo di rimuovere tutti i file contenuti nella cartella files/myconf del singolo sito, quindi di copiare della cartella sorgente (es: myconf-insegnamenti) nella cartella /myconf i file YAML ed SQL. Quindi importa il file YAML usando "drush config-import" ed il file SQL usando "drush sqlc < file_sorgente". Infine ricostruisce le cache.