Si votre deuxième migration pour la table des utilisateurs ressemble à ceci:
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name', 25);
// more migrations ...
});
il va essayer de créer le nouveau tableau users
. Notez que la deuxième migration a Schema::
créer. Vous cherchez à faire quelque chose de plus comme modifier la table:
Schema::table('users', function (Blueprint $table) {
$table->string('name', 50)->change();
});
Si vous cherchez à remplacer complètement (cela effacera toutes les données dans le tableau) migration avant avec une nouvelle table, vous pouvez faire quelque chose comme suit:
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::dropIfExists('users');
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name', 50);
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('users');
}
}
Toutefois, si vous faites cela, vous risquez fort de mal comprendre le fonctionnement des migrations. Le but est de pouvoir modifier les colonnes de votre base de données sans avoir à détruire complètement la table.
Y a-t-il une table 'migrations' dans votre base de données? Il devrait créer cette table et l'utiliser pour savoir quelles migrations ont déjà été exécutées. – jfadich
Avez-vous essayé php artisan migrate: rafraîchir OU php artisan migrer: reset ou php artisan migrer: rollback --step = 5 && php artisan migrate: rafraîchir? – Andy