Usuario:ManuelRomero/Laravel/migraciones

De WikiEducator
Saltar a: navegación, buscar



Migraciones

  • Es una forma de crear facilmente una base de datos para trabajar con laravel
  • Primero hemos de configurar la base de datos con la que queremos trabajar.
  • Hay que tener en cuenta que este sistema es como crear las tablas/campos con phpmyadmin u otro gestor
  • Tiene una serie de ventajas, una vez que has creado las migraciones, otros las pueden ejecutar para tener exactamente tu estructura de bases de datos, y también puedes tener un control de versiones sobre tu base de datos
  • Para crear una migración
 php artisan migrate:make usuarios
  • Para elecutar una migracion
php artisan migrate:install
  • Ahora si vamos al phpmyadmin observamos que tenemos creada la tabla migrations con dos campos

PhpmyadminMigrations.png

  • Para añadir los campos de la tabla tendremos que ir a la carpeta database/migrations/FECHA_CREACION_usuarios.php y lo abrimos
  • En el vemos que tenemos dos métodos uno up y otro down
  • Ahora tendríamos que ir a la clase tabla_producto y en el método up meter los campos que nos pudieran interesar
<?php
 
use Illuminate\Database\Migrations\Migration;
 
class CrearTablaUsuario extends Migration {
 
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('usuarios', function($tabla) 
        {
            $tabla->increments('id');
            $tabla->string('nombre', 50);
            $tabla->string('email', 100)->unique();
            $tabla->string('password', 200);
            $tabla->timestamps();
        });
    }
 
    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::drop('usuarios');
    }
}
  • Vemos como se crean los campos. Los tipos string, laravel los convierte a Varchar2.
  • id es de tipo autoincremento
  • timestamps, básicamente lo que hace ese método es crear dos campos llamados created_at y otro updated_at.
  • Estos campos son de tipo TIMESTAMP. No sinformarán de cuando fue creado o modificado cada uno de los registros de nuestra tabla.