Archivos de Categoría: Base de datos

Configuraciones de Docker que suelo usar

Casi siempre he estado trabajando con VMware pero llevo ya un tiempo usando Docker que resulta bastante más rápido de montar una máquina con las versiones de software que luego tenemos en producción.

Por ahora solo los tengo para PHP y MySQL, pero estoy viendo opciones para ColdFusion y SQL Server, cuando los tenga los publicare junto con estas configuraciones en mi GitHub

Ver mis configuraciones tipo de Docker

Generar CSV de un webform de Drupal 8

En su dia monte un Drupal 8 que iba sobrado con balanceador de carga y demás historias pero ahora anda saturado porque les monte una mini extranet aprovechando la misma instalación de Drupal, El problema es que ahora el servidor esta petado el pobre y cuando intentan sacar el listado de registros insertados en los webform, se les queda colgado. Así que la solución para salir del paso hasta que amplíen el alojamiento de Amazon es acceder al mysql a pelo y ejecutar esta consulta:

select concat('id;', group_concat(name separator ';') , ';fecha') as data from webform_submission_data where webform_id = 'NOMBRE_WEBFORM' group by sid limit 1
union
select concat(s.sid, ';', group_concat(value separator ';') , ';', from_unixtime(s.created,'%d/%m/%Y %H:%i:%s')) as data
from webform_submission s inner join webform_submission_data d on s.sid = d.sid where s.webform_id = 'NOMBRE_WEBFORM'
group by s.sid

Esto hecho desde consola redirigimos la salida a un fichero y ya tenemos un csv con todos los registros del formulario en cuestión .

Depurar consulta en Laravel 5 sin la barra de depuración

A parte de la maravillosa barra de depuración que nos ofrece Laravel 5, podemos necesitar un log de las consultas que vamos haciendo. La forma más sencilla es con un evento:

Event::listen('illuminate.query', function($query){
var_dump($query);
});

Pero el otro día estaba montando un comando y no se ejecutaba correctamente la consulta que quería por lo que me toco usar otro método distinto, activando el log del propio query builder de Laravel:

DB::enableQueryLog();
// Aquí la query que queramos rastrear
$laQuery = DB::getQueryLog();
$this->info('query:' . $laQuery[0]['query']);
DB::disableQueryLog();