Me refiero a todas las opciones de almacenamiento en caché en admin / settings / performance. Con frecuencia uso drush sql-sync para mantener mi copia de desarrollo actualizada con el servidor. Sin embargo, el servidor debe tener todas las memorias caché activadas, obviamente.
Entonces, me pregunto: ¿debo visitar admin / settings / performance cada vez que actualizo mi base de datos? ¿O hay un script Drush para eso?
Respuestas:
https://drupal.org/node/797346 para D7. Para D6, https://drupal.org/project/cache_disable pero rompe el caché del formulario. Es necesario parchearlo para que caiga en la caché de base de datos para el almacenamiento en caché de formularios. Y probablemente también actualice el caché de estado.
fuente
Debe configurar varias variables para desactivar el almacenamiento en caché en su sitio de desarrollo ...
Es aún más fácil si tiene una configuración condicional en su archivo settings.php. ¡Entonces puede actualizar la base de datos y los cambios se mantendrán!
$conf['cache'] = 0; // Page cache $conf['page_cache_maximum_age'] = 0; // External cache TTL $conf['preprocess_css'] = FALSE; // Optimize css $conf['preprocess_js'] = FALSE; // Optimize javascript $conf['views_skip_cache'] = TRUE; // Views caching
... aunque si solo desactiva varios caché a través de la interfaz de usuario del administrador y borra el caché una vez, entonces puede alejar el tema sin desactivar el resto ... ya que es menos probable que cambie el script.
fuente
$conf = array( 'cache' => FALSE, //page cache 'block_cache' => FALSE, //block cache 'preprocess_css' => FALSE, //optimize css 'preprocess_js' => FALSE, //optimize javascript 'environment' => 'development' );
$conf['cache'] = 0; $conf['page_cache_maximum_age'] = 0; $conf['block_cache'] = FALSE; $conf['preprocess_css'] = FALSE; $conf['preprocess_js'] = FALSE; $conf['views_skip_cache'] = TRUE;
Puede usar su archivo settings.php para establecer explícitamente variables para anular la configuración de su base de datos. Los valores se bloquearán a lo que esté establecido en el archivo y no se pueden cambiar a través de la interfaz de administración.
Al final del archivo predeterminado hay una sección que comienza:
Así que para desactivar la página, JS, CSS y el almacenamiento en caché, juego
cache
,preprocess_js
ypreprocess_css
todos'0'
El paréntesis de cierre para la declaración de matriz es la última línea del archivo predeterminado, después de algunos bloques de comentarios más, así que asegúrese de descomentarlo allí en lugar de agregar uno nuevo. También asegúrese de no tener otra
$conf
declaración que pueda entrar en conflicto.fuente
Siempre puede usar un archivo de alias drush en su servidor de desarrollo y configurarlo para omitir las tablas de caché cuando ejecuta sql-sync. Lo siguiente crearía alias para su servidor de desarrollo local y su servidor remoto en vivo:
Si guardó eso en su directorio de inicio en:
entonces puedes llamar a tu comando sql-sync así:
y debería omitir las tablas de caché (obviamente solo enumeré 2 allí, pero podría poner cualquier cosa allí, incluso agrego watchdog).
Para obtener más información sobre alias y todas las diversas opciones, consulte el archivo de ejemplo en su instalación drush en drush / examples / example.aliases.drushrc.php
Como última nota para cualquiera que intente usar sql-sync, tuve problemas de autenticación cuando lo ejecuté por primera vez, por lo que si alguien intenta esto y obtiene errores sobre las claves públicas / privadas, haga lo siguiente:
El comando pushkey de drush_extras crea un par de claves privada / pública y empuja la clave pública al servidor en vivo. El último comando es solo para verificar que funcionó.
fuente
He escrito un comando drush que habilita / deshabilita todas las siguientes opciones:
Los ejemplos y el código se pueden encontrar aquí: http://ourlife01.blogspot.gr/2015/05/drush-command-to-enabledisable-cache.html
Entonces, para deshabilitar todas las opciones anteriores, solo tiene que ejecutar:
El comando:
es lo mismo que configurar las variables a los valores:
fuente
drush cache-enable min max
. Verifique la URL anterior.block cache
también ...También puede deshabilitar el caché por debajo de la línea, ponerlo en
settings.php
archivosfuente