PHP artisan migrer de ne pas créer de nouvelle table
Je suis nouveau sur Laravel
et je suis Laravel Documentations
ainsi que quelques tutoriels Vidéos. Cependant, je suis en cours d'exécution cette php artisan migrate
code dans mon local CMD prompt
et ce n'est pas la création de Database Table
dans phpmyadmin
. Il y a d'autres quelques-uns des sujets similaires liées à cette stackoverflow
mais aucun n'a résolu mon problème. Merci de ne pas marquer ce double.
Ok, c'est comme ça. Je lance ce code
php artisan make:migration create_student_table --create=student
et le nouveau fichier est créé dans la migration dossier que 2016_04_08_061507_create_student_table.php
, Alors dans ce fichier que j'ai exécuté cette code
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateStudentTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('student', function (Blueprint $table) {
$table->increments('id');
$table->timestamps();
$table->string('name', 20);
$table->string('email', 255);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('student');
}
}
Puis dans cmd
- je exécuter php artisan migrate
mais il n'a pas créer student
table. Au lieu de cela c'est montrant ce message
[PDOException] SQLSTATE[42S01]: Base de table ou de la vue existe déjà:
1050 de la Table 'utilisateurs' existe déjà
J'ai créé users
table il ya quelques jours utilisant la même méthode que ci-dessus. Mais de nouvelles student
table n'est pas créée. Ai-je raté quelque chose ici?
Merci à l'avance.
migrations
table. Si votre problème ici c'est que Vous n'avez pas migrations
enregistrements de la table, mais ont users
table. Je Vous suggère de déposer toutes les tables dans la base de données, puis exécutez php artisan migrate
si Vous êtes seulement à apprendre ici.hmm thnx pour l'info, Ok la suppression de toutes les tables de travail pour l'instant. Que faire si je persiste le même problème à l'avenir.? Quand je fais le projet réel. quelle sera la solution ?
Vous n'aurez pas de persister si Vous ne touchez pas
migrations
table. Laravel permettra de savoir ce que les migrations ont été déjà lancé et ne pas essayer de l'exécuter à nouveau.OriginalL'auteur Prabin Parajuli | 2016-04-08
Vous devez vous connecter pour publier un commentaire.
Cela signifie que Laravel est d'essayer d'exécuter la
users
tableau de migration en premier. Si vous sont en cours de développement et n'ont pas besoin de conserver vos données, vous pouvez simplement supprimer leusers
table, puis exécutezphp artisan migrate
users
table, j'ai suppriméusers_migrations
et cela a fonctionné. toute raison, comment s'est passé ? parce que, dans un avenir proche, j'ai peut-être de supprimer des fichiers dans la migration des dossiers manuellement pour créer la nouvelle table de base de données.de son mieux pour sortir de la déjà présenté de migration de base de données/migrations dossier. n'oubliez pas de le remettre après l'exécution de la migration en fonction de l'utilisation future. @PrabinParajuli
Par DÉPLACER vous voulez dire créer une SAUVEGARDE d'un autre dossier ou SUPPRIMER ? Si je supprime , je ne parviens pas à avoir besoin de ces fichiers ?
vous aurez besoin de tous ces fichiers pour le déploiement.. afin de ne pas le supprimer..après l'exécution de la migration de la déplacer dans le à l'endroit où il était.
Merci pour l'info.. a fonctionné pour moi.. Malheureusement j'ai supprimé la précédente migration fichier mais je n'ai pas besoin pour l'instant . Merci encore 🙂
OriginalL'auteur Jeff
MODIFIER
Cela signifie que vous avez déjà couru
php artisan migrate
une fois et que la table est déjà présent dans la base de données. parfois, vous avez besoin de faire uncomposer dump-autoload
si l'artisan est couché.donc, vous avez besoin soit d'annuler la dernière modification avant modification et l'exécution de
php artisan migrate
. pour la restauration vous pouvez utiliser phpartisan migrate:rollback
Aussi, si vous souhaitez supprimer toutes les modifications que vous pourriez exécuter
php artisan migrate:reset
.Il est
php artisan migrate --force
à force d'exécuter la migration de force.Après avoir fait toutes ces étapes et si pas en mesure d'exécuter la migration, si sa l'environnement de développement, de supprimer la base de données créer la base de données et exécuter le
php artisan migrate
.OriginalL'auteur aimme
J'ai eu un problème similaire avec mon Laravel d'installation (mac os Sierra 10.12.16) et en utilisant MAMP avec l'atome et n'ont pas trouvé de solution définitive jusqu'à ce que j'ai suivi les étapes à venir.
Lors de la configuration de mon environnement local, j'ai trouvé à l'aide de la procédure suivante a empêché les questions de migration plus tard,
Espère que cela aide quelqu'un qu'il m'a fallu des jours pour obtenir enfin la configuration correcte 🙂
OriginalL'auteur hiltondeville
Votre base de données ont déjà ce tableau, il suffit de déposer et de laisser laravel créer par artisan.
student
table dans ma base de données..OriginalL'auteur Kayo Hamid
Avez-vous un utilisateur de la migration droit? Si oui, insérer votre utilisateur de créer une table à l'intérieur de:
OriginalL'auteur Kayo Hamid
Parfois, si vous utilisez MAMP serveur vous pouvez obtenir cette erreur en raison de la connectivité de base de données. C'est parce que le numéro de port, généralement en utilisant MAMP le numéro de port de la base de données mysql est 8889 qui vous devez changer dans votre configuration et lancez votre artisan de commande, il va travailler pour vous.
OriginalL'auteur Govinda Poddar
Cela a fonctionné pour moi: supprimer toutes les tables de base de données et exécuter
OriginalL'auteur Elsabe Gerhard Crous