Posted in

Migraciones en Laravel 5

Instalar el sistema de migraciones

php artisan migrate:install

Ver todos los comandos disponibles

php artisan list

Migrar a la última versión

php artisan migrate

Volver a la versión anterior

php artisan migrate:rollback

Crear una nueva migración (archivo migration)
1-crearía el archivo sin ninguna tabla ni columna

php artisan make:migration nombre_referencia_archivo

2-crearía el archivo con la tabla tags y dos columnas “de serie”

php artisan make:migration nombre_referencia_archivo --create "tags"

Tipos de columnas disponibles
http://laravel.com/docs/5.1/migrations#creating-columns

Ejemplo de ayuda sobre algún comando

php artisan help make:migration

Ejemplo
Creación de una tabla con llave foranea, borrado en cascada… En el ejemplo creamos una tabla con el perfil del usuario relacionando a la tabla users.

php artisan make:migration create_user_profiles_table --create "user_profiles"

Abrimos el archivo que se crea

public function up()
{
Schema::create('user_profiles', function(Blueprint $table)
{
$table->increments('id');
$table->mediumText('bio')->nullable();
$table->string('twitter')->nullable();
$table->string('website')->nullable();

$table->integer('user_id')->unsigned();

$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');

<span lang="EN-GB">$table</span><span lang="EN-GB">-></span><span lang="EN-GB">timestamp</span><span lang="EN-GB">(</span><span lang="EN-GB">'created_at'</span><span lang="EN-GB"><wbr />)-></span><span lang="EN-GB">default</span><span lang="EN-GB">(DB::</span><i><span lang="EN-GB">raw</span></i><span lang="EN-GB">(</span><span lang="EN-GB">'CURRENT_<wbr />TIMESTAMP'</span><span lang="EN-GB">))</span><span lang="EN-GB">;
</span><span lang="EN-GB">$table</span><span lang="EN-GB">-></span><span lang="EN-GB">timestamp</span><span lang="EN-GB">(</span><span lang="EN-GB">'updated_at'</span><span lang="EN-GB"><wbr />)-></span><span lang="EN-GB">default</span><span lang="EN-GB">(DB::</span><i><span lang="EN-GB">raw</span></i><span lang="EN-GB">(</span><span lang="EN-GB">'CURRENT_<wbr />TIMESTAMP on update CURRENT_TIMESTAMP'</span><span lang="EN-GB">))</span><span lang="EN-GB">;</span>
});
}

Y una vez hecho esto hacemos el migrate

php artisan migrate

Cuando se elimine un usuario se borrará el registro relacionado del perfil.

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *


The reCAPTCHA verification period has expired. Please reload the page.