Bonjour,
J'ai un soucis avec mes migrations, j'avais crée ma table "contacts" puis dans le developpement de l'application j'ai voulu ajouter un nouveau champ. je me suis retourner dans la migration correspondante puis ajouter la nouvelle ligne et un coup de "php artisan migrate". resultat "Nothing to migrate". J'ai manuellement supprimer la table dans SGBD et refais un "php artisan migrate" toujours rien. puis j'ai fais "php artisan clear-compiled" et "php artisan optimize" puis "php artisan migrate" toujours rien. Je voudrais savoir comment faire pour prendre en compte la modification de la table. La première table etait sans 'nom'.
Schema::create('contacts',function(Blueprint $table){
$table->increments('id');
$table->string('nom');
$table->string('email');
$table->text('objet');
$table->text('content');
$table->boolean('seen')->default(false);
$table->timestamps();
$table->integer('etat');
});
Mettre à jour ma table à partir des migrations.
Nothing to migrate
Bonjour,
Dans la table migrations sur ta DB, supprime la ligne correspondant au nom de fichier de la migration que t'a modifié, ensuite fait php artisan migrate
Normalement ça devrait le faire
Salut,
Lorsque tu as créé ta migration via artisan, tu as bien précisé le flag --table=contacts
et non --create=contacts
(https://laravel.com/docs/5.4/migrations#generating-migrations) ?
A mon avis non car sinon tu devrais avoir ceci :
Schema::table('contact', function (Blueprint $table) {
// ici UNIQUEMENT les modification que tu souhaites apporter à ta table
});
Il faut prendre le temps de lire la documentation, tout y est indiqué (d'autant plus que, et je le répète, celle de Laravel est un régal de simplicité et est très explicite avec un exemple pour chaque situation).
Mon soucis c'est que la table "contacts" n'existe même plus sur "localhost/phpmyadmin" dans ma base de données du coup la mise à jours ne peut être effectuée. Si il y avais un moyen de recupérer l'ancienne table et agir dessus. Mais... Aussi un 'php artisan migrate:rollback/refresh' ne me ramène que les tables crées dernierement.
Ah ça c'est que tu as du faire une mauvaise manip, ou alors lorsque tu as fait un rollback, tu as effacé la table tout simplement. Là on ne peut pas grand chose pour toi :/