Skip to main content

Crear BD no relacional MySQL metodo alternativo Laravel4.2

INFO

Tutorial Laravel4.2 crear una base de datos no relacional con migraciones (metodo alternativo), en este tutorial veremos como crear una base de datos siendo esta no relacional a nivel de mysql, la relación se logra atravez de codigo en laravel, una metodo que funciona pero que requiere un control adicional al momento de la manipulación de de datos, este tipo de relacion funciona en cualquier motor de datos de mysql, el código de las migraciones se encuentra debajo.

CODIGO

Migración para sucursales:

2014_07_20_192908_create_sucursales_table.php

<?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateSucursalesTable extends Migration {

  /**
   * Run the migrations.
   *
   * @return void
   */
  public function up()
  {
    Schema::create('sucursales', function(Blueprint $table)
    {
      $table->increments('id');
      $table->string('nombre',20);
      $table->integer('telefono');
      $table->string('direccion',40);
      $table->string('email',40)->nullable();
    });
  }

  /**
   * Reverse the migrations.
   *
   * @return void
   */
  public function down()
  {
    Schema::drop('sucursales');
  }

}

Migración para usuarios:

2014_07_20_192948_create_usuarios_table.php

<?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateUsuariosTable extends Migration {

  /**
   * Run the migrations.
   *
   * @return void
   */
  public function up()
  {
    Schema::create('usuarios', function(Blueprint $table)
    {
      $table->increments('id');
      $table->string('usuario',20);
      $table->string('nombre',20);
      $table->string('apellido',20);
      $table->string('apellido2',20)->nullable();
      $table->integer('telefono');
      //campo que contendra la llave foranea
      $table->integer('sucursal_id');
      $table->string('remember_token',100);
      $table->string('password');
      $table->timestamps();
    });
  }

  /**
   * Reverse the migrations.
   *
   * @return void
   */
  public function down()
  {
    Schema::drop('usuarios');
  }

}

Migración para ventas:

2014_07_20_193032_create_ventas_table.php

<?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateVentasTable extends Migration {

  /**
   * Run the migrations.
   *
   * @return void
   */
  public function up()
  {
    Schema::create('ventas', function(Blueprint $table)
    {
      $table->increments('id');
      $table->date('fecha');
      $table->float('total');
      //campo que contendra la llave foranea
      $table->integer('usuario_id');

    });
  }

  /**
   * Reverse the migrations.
   *
   * @return void
   */
  public function down()
  {
    Schema::drop('ventas');
  }

}

Migración para permisos:

2014_07_20_193102_create_permisos_table.php

<?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreatePermisosTable extends Migration {

  /**
   * Run the migrations.
   *
   * @return void
   */
  public function up()
  {
    Schema::create('permisos', function(Blueprint $table)
    {
      $table->increments('id');
      $table->boolean('sistema');
      $table->char('nivel', 2);
      //campo que contendra la llave foranea
      $table->integer('usuario_id');
  
    });
  }

  /**
   * Reverse the migrations.
   *
   * @return void
   */
  public function down()
  {
    Schema::drop('permisos');
  }

}

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.