Cakephp 3 – Migrations, Exception: There was a problem connecting to the database

Si al intentar hacer una migración en Cakephp 3 se muestra el siguiente error:

Exception: There was a problem connecting to the database: SQLSTATE[HY000] [2002] No such file or directory in [/opt/lampp/htdocs/aplication/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/MysqlAdapter.php, line 121]

Para solucionarlo, abrir el archivo app.php, desplazarnos hasta la configuración de la base de datos (Datasources) y cambiar el valor del parámetro ‘host’ de ‘localhost’ a ‘127.0.0.1’:

   'Datasources' => [
        'default' => [
            'className' => 'Cake\Database\Connection',
            'driver' => 'Cake\Database\Driver\Mysql',
            'persistent' => false,
            'host' => '127.0.0.1',

Guardar el archivo y ejecutar nuevamente el comando de migración.

Visual Studio Code 1.29 – Cambiar idioma a español

  • Presiona Ctrl + p
  • Pegar este codigo y pulsar enter:
  • ext install MS-CEINTL.vscode-language-pack-es
    
  • Esperar unos segundos hasta que se instale la extensión del idioma español
  • Pulsar Ctrl + P
  • Escribir:
  • >display
    
  • Pulsar enter y se abrirá el archivo:
  • locale.json
    {
    // Defines VS Code's display language.
    // See https://go.microsoft.com/fwlink/?LinkId=761051 for a list of supported languages.
    
    "locale":"en" // Changes will not take effect until VS Code has been restarted.
    }
    
  • Sustituir «locale»:»en» por «locale»:»es»
  • Pulsar Ctrl + s para guardar el archivo
  • Salir de Visual Studio Code y volver a entrar
  • Fuentes:
  • https://marketplace.visualstudio.com/items?itemName=MS-CEINTL.vscode-language-pack-es
    https://code.visualstudio.com/docs/getstarted/locales

    Cakephp 3 – Crear una variable de fecha (objeto)

    En el controlador, escribimos:

    use Cake\I18n\Time;
    
    public function correctTransaction()
    {		
       setlocale(LC_TIME, 'es_VE', 'es_VE.utf-8', 'es_VE.utf8'); 
       date_default_timezone_set('America/Caracas');
    	
       $initialDate = new Time();
    		
       debug($initialDate);
    		
       $initialDate
       ->year(2018)
       ->month(8)
       ->day(31)
       ->hour(0)
       ->minute(0)
       ->second(0);
    			
       debug($initialDate);
    }