Crea un proyecto Laravel y configura una base de datos MySQL4/17

Lectura

Instalación y creación de proyectos con Laravel o Composer ➕

Para crear un proyecto de Laravel primero debemos instalarlo, para esto se pueden tomar dos caminos: el instalador de Laravel y Composer.

Para hacerlo a través del instalador de Laravel puedes usar:

composer global require laravel/installer

Una vez instalado por este método, la creación del proyecto se realiza con:

laravel new project-manager

Para instalarlo y crear el proyecto directamente usando Composer solo debes escribir:

composer create-project --prefer-dist laravel/laravel project-manager

En ambos casos tendrás un directorio llamado project-manager, que es el nombre que le hemos dado a nuestro proyecto.

Pasos para crear la base de datos y tablas del proyecto 🗄

Ahora ya estás listo para crear la base de datos con MySQL. Yo personalmente prefiero usar la consola para manipular la base de datos, me resulta más cómoda y rápida para ciertas actividades, pero tú puedes usar alguna aplicación que te ofrezca una interfaz gráfica para administrar tus bases de datos. Te puedo recomendar que uses MySQL Workbench, está disponible para todos los sistemas operativos.

El primer paso será crear nuestra base de datos, si usas consola de comandos debes entrar usando el comando mysql -u usuario -p y luego te pedirá el password que previamente habrás configurado para mysql (recuerda que no es el password de tu compu 🛑).

Luego de ingresar el password correcto debe aparecer el puntero de la consola de esta forma:
mysql>. Y ya estará todo listo para empezar a escribir las sentencias que nos ayudarán a crear nuestra base de datos en los siguientes pasos:

  1. Crear la base de datos: CREATE DATABASE project_manager;
  2. Seleccionar base de datos: USE project_manager;
  3. Crear la tabla projects:
CREATE TABLE projects (
  project_id INT NOT NULL AUTO_INCREMENT,
  city_id INT NULL,
  company_id INT NULL,
  user_id INT NULL,
  name VARCHAR(30) NULL,
  execution_date DATE NULL,
  is_active TINYINT NULL,
  created_at DATETIME NULL,
  updated_at DATETIME NULL,
  PRIMARY KEY (project_id));
  1. Crear la tabla users:
CREATE TABLE users (
  user_id INT NOT NULL AUTO_INCREMENT,
  name VARCHAR(20) NULL,
  created_at DATETIME,
  updated_at DATETIME,
  PRIMARY KEY (user_id));
  1. Crear la tabla companies:
CREATE TABLE companies (
  company_id INT NOT NULL AUTO_INCREMENT,
  name VARCHAR(20) NULL,
  created_at DATETIME,
  updated_at DATETIME,
  PRIMARY KEY (company_id));
  1. Crear la tabla cities:
CREATE TABLE cities (
  city_id INT NOT NULL AUTO_INCREMENT,
  name VARCHAR(20) NULL,
  created_at DATETIME,
  updated_at DATETIME,
  PRIMARY KEY (city_id));
  1. Nos aseguramos de que todas nuestras tablas ya estén creadas: SHOW TABLES;.

  2. Procedemos a crear las llaves foráneas:;

ALTER TABLE projects ADD FOREIGN KEY (city_id) REFERENCES cities(city_id);

ALTER TABLE projects ADD FOREIGN KEY (company_id) REFERENCES companies(company_id);

ALTER TABLE projects ADD FOREIGN KEY (user_id) REFERENCES users(user_id);

  1. Podemos hacer un DESCRIBE projects; para ver la estructura de nuestra tabla projects y asegurarnos de que todas las llaves han sido agregadas satisfactoriamente, entonces podemos continuar.

Ya tenemos lista nuestra base de datos para conectarla con el proyecto de Laravel que acabamos de crear.

Conectar Laravel con la base de datos 🔌

Por el momento, no necesitaremos configurar más que nuestras variables de entorno. En la raíz del proyecto de Laravel hay un archivo llamado .env, ubica un bloque de código con estos parámetros:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=

Sin comillas ni paréntesis, escribe tus parámetros de conexión a MySQL justo después del signo de igual (=) y guarda los cambios.

Podemos verificar si la conexión se realizó correctamente usando nuestro gran amigo Tinker.

Conoce Tinker 🖇

Tinker es una consola de comandos única de Laravel donde podremos hacer pruebas funcionamiento sin tener que ejecutar toda la aplicación e interactuar con los métodos y clases de nuestro proyecto. En este caso, solo verificaremos que estamos conectados a la base de datos.

Para iniciar la consola de Tinker debemos estar ubicados en la carpeta del proyecto desde la consola de comandos e ingresar: php artisan tinker.

A continuación, debe salirte un mensaje en azul que diga algo como:

Psy Shell v0.9.12 (PHP 7.1.33 — cli) by Justin Hileman

>>>

Allí ya estarás listo para escribir: DB::connection()->getPdo();.

Si la conexión es exitosa, te desplegará un objeto tipo PDO con la descripción de los atributos que componen la conexión, si la conexión es errónea, te saldrá un mensaje en rojo mostrándote cuál será el código de error.

Para salir de Tinker sólo tendrás que escribir exit y enter.

En caso que hayas hecho varios intentos con cambios y no los veas reflejados ¡no entres en pánico!, siempre puedes limpiar caché para que las variables de entorno sean leídas nuevamente: php artisan cache:clear.

Y ahora debes volver a ingresar a Tinker y repetir el anterior comando. Tinker no se actualiza automáticamente cuando a variables de entorno se refiere así que es importante ejecutar este comando primero.


¡Felicidades! 🎉

Ya estamos conectados con nuestra base de datos desde el proyecto en Laravel. En la siguiente clase escribiremos nuestro primer modelo para la tabla principal projects.

Aportes 42

Preguntas 2

Ordenar por: