OSX post install para desarrollo con node, react, atom, brew

Small reference guide for OSX installation basics.

Homebrew

This is most used macOS pacakage manager.

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Atom

brew cask install atom
apm install nuclide
apm install prettier-atom bootstrap-3-snippets-for-atom emmet language-graphql language-vue remote-ftp git-time-metric

PHP

apm install atom-autocomplete-php language-blade php-fmt

Configure atom-autocomplete-php composer path /usr/local/bin/composer.phar and php-fmt plugin with executable /Users/smac/kscripts/fmt.phar

HHVM

Facebook´s php engine. (optional)

brew tap hhvm/hhvm
brew install hhvm

To have launchd start hhvm/hhvm/hhvm now and restart at login:
  brew services start hhvm/hhvm/hhvm
Or, if you don't want/need a background service you can just run:
  hhvm -m daemon -c /usr/local/etc/hhvm/php.ini -c /usr/local/etc/hhvm/server.ini

Node

brew install node watchman

React native

npm install -g yarn && react-native-cli && react-native-git-upgrade && react-devtools

GraphQL

npm install -g graphql-cli && graphql completion >> ~/.bash_profile

Alias

vi .bash_profile
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist

Maria DB

Install brew install mariadb && brew services start mariadb

Old database are stored in:

/Volumes/OLD_DRIVE/usr/local/var/mysql

Applications passwords

Some applications are using the following location to store the passwords, for example Squel Pro. Copy old keychain to new hard drive.

cp /Volumes/OLD_DRIVE/Users/OLD_USER/Library/Keychains/login.keychain-db /Users/NEW_USER/Library/Keychains/login.keychain-db

SSH

Copy importants files from ~/.ssh/

Install Laravel & Co.

brew install homebrew/core/php
composer global require "laravel/installer"
composer global require laravel/valet
composer global require laravel/envoy

PHP extras

brew install imagemagick
brew install pkg-config
pecl install imagick

VueJS

npm install -g @vue/devtools

Actualizar MariaDB5 a MariaDB10 en Centos7

Lo primero, saber si necesitamos actualizar, vamos a asegurarnos que tienes un Centos7 y que tienes MariaDB5, para ello vamos a correr los siguientes comandos y ver si nuestro sistema es parecido al mío.

https://downloads.mariadb.org/mariadb/repositories/

# cat /etc/redhat-release 
CentOS Linux release 7.1.1503 (Core) 
# mysql -v
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.44-MariaDB MariaDB Server

Vale, ahora directamente vamos a eliminar mariaDB del sistema, no os preocupéis, esto no va a borrar ninguna base de datos, de todas formas, si te parece haz una copia de seguridad por si las moscas.

yum remove mariadb mariadb-server

Creamos el archivo donde vamos a añadir el repositorio de MariaDB

vi /etc/yum.repos.d/MariaDB.rep

copia y guarda el contenido de más abajo en este nuevo archivo.

# MariaDB 10.1 RedHat repository list - created 2016-02-06 03:30 UTC
# http://mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/rhel7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Ahora le vamos a decir que nos vuelva a instalar mariaDB, nos preguntará si nos fiamos de las firmas del repositorio, tenemos que decir que si, de lo contrario no podremos instalar.

yum install mariadb mariadb-server

Por ultimo, arrancamos nuestra recien instalada version de mariaDB10 y nos aseguramos que se arranca sola durante los reinicios.

systemctl start mariadb
systemctl enable mariadb.service

IMPORTANTE: Ahora puedes hacer un mysql_upgrade para actualizar MariaDB a una version más moderna.<

mysql_upgrade -u root -p

Esto es todo amigos.

Soluciones peculiares para MySQL

Con este truco podemos hacer una consulta que nos devuelve el comando que nos eliminaria todas las tablas que tengan alguna similitud en el nombre de la tablas de dicha base de datos.

Antes de nada hay que ejecutar SET FOREIGN_KEY_CHECKS=0 al terminar haremos SET FOREIGN_KEY_CHECKS=1

luego podemos hacer una consulta que nos devuelve la consulta que elimina todas las tablas de la base de datos clienteX_DB_Nombre cuyo nombre se ajuste con la consulta LIKE “wp_%”;

[bash]
SELECT CONCAT("DROP TABLE ", GROUP_CONCAT(table_name), ";")
FROM information_schema.tables
WHERE table_schema = "clienteX_DB_Nombre"
AND table_name LIKE "wp_%";
[/bash]

El resultado que obtengamos de esta consulta tenemos que ejecutarlo, no olvideis volver a habilitar las foreing_key_checks=1.