Comment ajouter une colonne dans une table en utilisant laravel 5 migration sans perdre ses données?
J'ai déjà une table de base de données et je veux ajouter une colonne. Cependant, comme je l'ai exécuter le php artisan migrate
de commande, il ne dit rien à migrer. Mais j'ai déjà ajouter un Schéma pour l'ajout de colonnes de la table. J'ai lu quelques articles et liens que je devrais courir le php artisan migrate:refresh
d'abord avant de les nouvelles colonnes à ajouter.Le problème est, il va effacer mes données dans ma table. Est-il possible d'effectuer la migration et de réussir à ajouter des colonnes dans ma table sans effacer mes données? Merci de m'aider avec cela. Merci beaucoup. Voici mon code de migration.
public function up()
{
//
Schema::create('purchase_orders', function(Blueprint $table){
$table->increments('id');
$table->string('po_code');
$table->text('purchase_orders');
$table->float('freight_charge');
$table->float('overall_total');
$table->timestamps();
});
Schema::table('purchase_orders', function(Blueprint $table){
$table->string('shipped_via');
$table->string('terms');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
Schema::drop('purchase_orders');
}
Je veux ajouter une colonne shipped_via
et terms
dans mon purchase_orders
table.
source d'informationauteur Eli
Vous devez vous connecter pour publier un commentaire.
Utiliser la commande ci-dessous pour modifier la table existante
utilisation
--create
pour la création de la nouvelle table et--table
pour la modification de la table existante.Maintenant un nouveau fichier de migration sera créé. À l'intérieur de la
up()
fonction dans ce fichier, ajoutez ces lignePuis exécutez
php artisan migrate
Laravel a une table dans votre base de données où il conserve la trace de toutes les migrations qui sont déjà exécutés. Donc, en changeant seulement le fichier de migration Laravel ne sera pas de nouveau automatiquement que la migration pour vous. Cause de la migration est déjà exécutée par Laravel.
Donc, la meilleure chose à faire est de simplement créer une nouvelle migration et de mettre le morceau de code que vous avez déjà (vous étiez sur la bonne voie!).
Vous n'avez pas besoin de remplir la fonction de cas, le tableau sera abandonné par votre purchase_orders migration.
Pour migrer la nouvelle migration il suffit d'exécuter: