domingo, 26 de marzo de 2017

Imprimir pantalla de manera parcial en Windows

Normalmente, cuando haces una impresión de pantalla en Windows con el botón "imprimir pantalla" te saca toda la pantalla. Pero si tú quieres sólo una parte, aquí te cuento cómo.

Hay un programa dentro de Windows que se llama "Recortes"

Con "Recortes" selecciona el área de la pantalla a imprimir
Programa "Recortes" en Windows para imprimir pantalla de manera parcial

Wordpress Fallo en la instalación del tema. La carpeta ya existe.

Estás actualizando un tema de Wordpress subiendo el .zip y dice que hay fallo en la instalación del tema porque la carpeta ya existe. Esto es lo que tienes que hacer:

Wordpress Fallo en la actualización del tema porque la carpeta ya existe
Wordpress Fallo en la instalación del tema La carpeta ya existe


1) Accede al directorio de dicha carpeta (en el mensaje de error se te especifica la ruta de dicha carpeta).

jueves, 23 de marzo de 2017

Cómo cambiar los comentarios de las columnas en MySQL

Cambiar el comentario de una columna en MySQL implica prácticamente redeclarar la estructura de la misma para que, al final de la sentencia o comando, puedas cambiar el texto del comentario de tal columna.

Esto puede tener algunas implicaciones como alterar el orden del AUTO_INCREMENT, equivocaciones en la estructura de la columna, etc.

Normalmente esto lo puedes hacer en Phpmyadmin. Y te das cuenta de esto. Pero lo tienes que hacer columna por columna y además hacer una consulta o query en la que prácticamente tienes que renombrar o reconstruir la columna completa de la tabla:

ALTER TABLE `MiTabla` CHANGE `columna_tal` `columna_tal` VARCHAR(255)CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '¡Todo esto para cambiar solamente el comentario!';

Existe otra forma que la puedes hacer con puro lenguaje SQL y esto es especialmente útil cuando quieres modificar el comentario de una columna que puede estar repetido en varias tablas.
Además te evitas la necesidad de tener que declarar otra vez la estructura de la o de las columnas en cuestión cuyos comentarios deseas cambiar. Este primer método que acabamos de ver hace que prácticamente MySQL reconstruya toda la tabla.

Un método más eficiente es ir directamente a la tabla que almacena los comentarios de todas las columnas. La tabla se llama `COLUMNS` la cual se encuentra en la base de datos llamada `information_schema`, es decir `information_schema`.`COLUMNS`.

De entrada no te recomiendo abrir dicha tabla en su totalidad con un SELECT * FROM `information_schema`.`COLUMNS` ya que es una tabla enorme y puede que nunca puedas cargar toda la información. En vez de eso, para localizar la columna, cuyo comentario quieres cambiar, puedes intentar con la siguiente columna o query:

SELECT * FROM `COLUMNS` WHERE COLUMN_COMMENT LIKE '%El comentario que quiero cambiar%';

O puedes hacerlo buscando por tabla:

SELECT * FROM `COLUMNS` WHERE TABLE_NAME LIKE '%MiTabla%' AND TABLE_SCHEMA LIKE '%MiBaseDeDatos%';

Una vez localizada tu columna, la puedes actualizar de la siguiente manera (por supuesto que hay cientos de formas de hacerlo, esto es tan sólo un ejemplo ilustrativo):

Primero compruebo que el siguiente query o consulta sólo me muestre un resultado:

SELECT * FROM `COLUMNS` WHERE TABLE_NAME = 'miTabla' AND TABLE_SCHEMA = 'MiBD' AND COLUMN_NAME = 'miColumna';

Si sí te sale un sólo resultado, procedemos a actualizar con el nuevo comentario:

UPDATE `COLUMNS` SET COMMENT = 'Mi nuevo comentario`' WHERE TABLE_NAME = 'miTabla' AND TABLE_SCHEMA = 'MiBD' AND COLUMN_NAME = 'miColumna';

Si no te saliera un resultado, intenta agregar más filtros o restricciones a tu consulta.


http://stackoverflow.com/a/2162456/1883256

http://stackoverflow.com/questions/2162420/alter-mysql-table-to-add-comments-on-columns

 SELECT COLUMN_NAME, COLUMN_COMMENT FROM COLUMNS
    -> WHERE COLUMN_NAME LIKE 'created_at';

USE information_schema;
SHOW TABLES;
DESC COLUMNS;

miércoles, 15 de marzo de 2017

Cómo actualizar Laravel Homestead en Mac

Te puede interesar:


Cada vez que corres el comando:

$ vagrant up

Te sale un mensaje como este:



Significa que tienes que actualizar tu homestead.

En este video explico cómo actualizar tu Laravel Homestead en Mac:


Te pongo aquí en texto los pasos que seguí.

Atención: Antes de seguir, haz un respaldo de


Ya que tendremos que borrar todo al instalar la nueva box de laravel.

Descarga las nuevas versiones de Vagrant y del VirtualBox e instálalas.

Para conocer las versiones de Vagrant y Virtual Box con las que cuentas, ejecuta el siguiente comando en consola:


$ vagrant -v
en este caso tengo la versión Vagrant 2.0.2


$ vboxmanage --version
en este caso tengo la versión de virtualBox 5.2.8r121009

También hay que ejecutar el siguiente comando para bajar la nueva caja

$ vagrant box update

Este proceso puede tardar, ya que la caja pesa más de un 1GB.

Si vas a hacer lo mismo en otra computadora, puedes copiar la Vagrant Box desde este lugar:


~/.vagrant.d/boxes/laravel-VAGRANTSLASH-homestead

Ahí verás carpetas con los nombres de las versiones, copias la carpeta y listo. Ya la puedes pegar en otra computadora en donde trabajes con Laravel Homestead.

De ahí, ve a tu carpeta Homestead/ y ejecuta el siguiente comando:

$ git pull origin master

Éste último comando lo que hará es actualizar en su archivo de configuración, la caja más reciente a utilizar. Lo podrás comprobar con los siguientes comandos:

Para mostrar el listado de las máquinas virtuales con las que contamos así como el ID de cada una, tecleamos:

$ vagrant global-status

También otro comando útil para conocer todas las cajas o boxes que tienes es:

$ vagrant box list

Primero, respaldamos el siguiente archivo Homestead.yaml que se encuentra en la carpeta /Users/pathros/Homestead (en tu caso se representa como /Users/TuNombre/Homestead):


$ cp -r /Users/TuNombre/Homestead/ /Users/TuNombre/Homestead_old


En mi caso, lo copio (mas no mover) en otra carpeta que yo llame /respaldos. Si sólo lo moviste y no lo copiaste, te saldrá el siguiente error: "Homestead settings file not found in /Users/TuNombre/Homestead"; Si no, lo que hago también es cambiar el nombre de la carpeta de Homestead a Homestead_old

Ahora, procedemos a destruir el ambiente de vagrant (estando dentro de la carpeta /Homestead)

$ vagrant destroy


se nos pedirá que confirmemos si queremos destruir o no 'Homestead-7' VM. Tecleamos que sí: yes (sólo teclea yTe pide confirmar. Si no la encuentra, entonces ponle el ID que le corresponda justo después de haber aplicado el global-status

$ vagrant destroy [el ID]

También puedes proceder a eliminar las cajas anteriores con el siguiente comando (aprovechando para ir ya también quitando la basura)

$ vagrant box remove laravel/homestead --box-version=5.1.0 

Ahora vamos a respaldar la siguiente carpeta renombrándola
“Borrar /Homestead” .. Lo voy a renombrar mejor a “/Homestead_old”, por ejemplo:
nos colocamos dentro de la carpeta /Users/TuNombre/ , es decir

$ cd ..

o también puedes intentar con:

$ cd ~


Y procedemos a respaldar cambiándoles el nombre

mv Homestead/ Homestead_old/


Estando en mi carpeta /Users/TuNombre/, voy a ejecutar el siguiente comando el cual va a crear una nueva carpeta Homestead:

$ git clone https://github.com/laravel/homestead.git Homestead

Nos pasamos a la carpeta Homestead

$ cd Homestead

Comprobamos la última versión estable en github visitando el siguiente enlace:

https://github.com/laravel/homestead/releases, en este caso, la versión actual es la 7.3.0 (checa la versión en https://laravel.com/docs/5.6/homestead#first-steps) por lo que ejecuto el siguiente comando:

$ git checkout v7.3.0

ejecutamos el siguiente comando para crear el archivo Homestead.yaml

$ bash init.sh

Ahora editamos nuestro Homestead.yaml. En este caso hay dos caminos, uno, que el Homestead.yaml anterior lo sustituyas directamente. Te aconsejo primero veas los dos archivos para ver si no tienen diferencias entre uno y otro, sobre todo en la parte de configuraciones principales. Lo que sí tendrás que copiar es el listado de carpetas de tus proyectos y dominios.

Si ves que no habrá problema en copiar el Homestead.yaml de la carpeta vieja a la nueva, entonces puedes ejecutar el siguiente comando:

Primero me voy a mi carpeta:

$ cd $HOME

visualizo las dos carpetas Homestead y Homestead_old

$ ls

Ahora sí, viene el comando:

$ cp Homestead_old/Homestead.yaml Homestead/

y ya finalmente me voy a la carpeta Homestead

$ cd Homestead

y ejecuto el comando

$ vagrant up

$ mv Homestead.yaml Homestead_old.yaml

Ahora voy a copiar mi Homestead.yaml de mi respaldo a esta carpeta (si quieres antes visualiza ambos archivos y compara si no hay grandes diferencias a tomar en cuenta):

$ cp /Users/pathros/Desktop/backup/Homestead.yaml /Users/pathros/Homestead/Homestead.yaml

Generamos las llaves SSH

$ ssh-keygen -t rsa -C "tu-nombre@homestead"

Le dices que sí quieres copiar y sobreescribir las llaves. Y deja todo sin contraseña dando enter nadamás.

Al final, una vez que se ha confirmado que hemos actualizado todo exitosamente, borramos la box anterior (para saber cuáles boxes tenemos, teclea $ vagrant box list):

$ vagrant box remove laravel/homestead --box-version=2.0.0

Posiblemente hay que cambiarle el nombre a nuestra máquina virtual por otro. Ahora pasarnos a la carpeta de Homestead, si es que no estamos ahí

$ cd Homestead/

y ya arrancamos la máquina de vagrant laravel homestead

$ vagrant up


Listo, ahora procede a restaurar tus bases de datos con los respaldos .sql que guardaste antes de empezar con todo este relajo

Saludos
🤘🏽
Sigue leyendo:

Probablemente después de actualizar, el comando laravel no funcione (laravel: command not found), aquí está cómo solucionarlo

phpmyadmin cómo respaldar todas las bases de datos

phpmyadmin cómo restaurar todas las bases de datos desde un archivo de respaldo .sql



domingo, 12 de marzo de 2017

Cómo actualizar Laravel Homestead en Windows 7

Te puede interesar:


Antes que nada quiero deciros que ha sido un gran desmadre poder actualizar el Laravel Homestead en Windows. Y también lo ha sido en MAC.

Voy a relatarte los pasos que tuve que seguir para actualizarlo. La verdad es que es mucho más que el simple comando indicado

$ vagrant box update

No señores, hay muchas cosas más que hay que hacer.


 

Tags