Migraciones: Ejemplo creación tablas relacionadas con claves foraneas

php artisan make:migration crear_tabla_permisos --create=permisos
Schema::create('permisos', function (Blueprint $table) {
   $table->id();
   $table->string('nombre', 50);
   $table->string('slug',50);
   $table->timestamps();
});

php artisan make:migration crear_tabla_roles --create=roles
Schema::create('roles', function (Blueprint $table) {
   $table->id();
   $table->string('nombre', 50);
   $table->string('slug',50);
   $table->timestamps();
});

php artisan make:migration crear_tabla_permisos_roles --create=permisos_roles
Schema::create('permisos_roles', function (Blueprint $table) {
   $table->unsignedBigInteger('permisos_id');
   $table->foreign('permisos_id','fk_permisorol_permiso')->references('id')->on('permisos')
     ->onDelete('cascade')
     ->onUpdate('restrict');
   $table->unsignedBigInteger('roles_id');
   $table->foreign('roles_id','fk_permisorol_rol')->references('id')->on('roles')
     ->onDelete('cascade')
     ->onUpdate('restrict');
   $table->timestamps();
});

No hay comentarios:

Publicar un comentario