web-dev-qa-db-fra.com

Laravel Artisan ne dit rien pour migrer

J'ai installé les migrations avec php artisan migrate:install puis créé une migration avec la commande php artisan migrate:make create_teams_table. Maintenant, j'essaie de les exécuter avec la commande suivante que j'ai créée conformément à la documentation officielle :

php artisan migrate --path=app/foo/migrations/2014_01_21_143531_create_teams_table.php

Cela me donne ce qui suit sur la console:

Rien à migrer.

La table migrations de la base de données est vide et la nouvelle table n'est pas créée non plus. Je ne comprends pas pourquoi la documentation indique foo dans le chemin. Que signifie foo et d’où vient-il? D'abord, j'ai pensé que le chemin est mauvais à cause de la chose foo et que je sais qu'il est relatif au dossier app, je l'ai donc changé en app/database/migrations mais cela ne fonctionne pas. J'ai aussi essayé beaucoup d'autres combinaisons de chemins, mais aucune d'entre elles n'a fonctionné.

Ai-je pris le mauvais chemin? Dans ce cas, la console ne devrait-elle pas afficher un autre type de message utile? Que signifie foo? Comment puis-je exécuter ma migration?

18
totymedli

Cette chose foo est juste un exemple. Laravel recherchera les migrations à exécuter dans app/database/migrations par défaut. Essayez de supprimer ce paramètre --path et voyez si cela fonctionne.

10
AntonNiklasson

Essaye ça:

Premier:

C:\xampp\htdocs\laravel-master>php artisan migrate:reset

Annulé: 2014_03_28_142140_user_table

Rien à restaurer.

seconde:

C:\xampp\htdocs\laravel-master>php artisan migrate

Migration: 2014_03_28_142140_user_table

vérifier la base de données.

24
user3474053

En supposant que vous ayez un fichier de migration nommé my_migration.php

 php artisan migrate --path=app/database/migrations/my_migration.php 

aurait travaillé pour vous.

7
jminkler

Ce qui m'a aidé:

php artisan config:cache
php artisan migrate
4
Jan Żankowski

Le problème se pose si la table migrations de la base de données est vide . La solution est donc d'ouvrir le bricoleur du compositeur

$ php artisan tinker
>>> Schema::drop('users')
>>> Schema::drop('password_resets')
>>> Schema::drop('orders')
>>> exit
php artisan migrate

Voici le résultat des commandes ci-dessus exécutées

nishanth@localhost:~/Desktop/html/hutch$ php artisan migrate

Dans Connection.php, ligne 647: SQLSTATE [42S01]: La table ou la vue de base existe déjà: 1050 Table 'utilisateurs' alre ady existe (SQL: créer une table users (id int non signée null clé primaire auto-incrémentée, name varchar (255) non null, email varchar (255) non nll, password varchar (255) non nul , remember_token varchar (100) null, created_at horodatage null, updated_at horodatage null) jeu de caractères par défaut utf8mb4 collate utf8mb4_unicode_ci) 

Dans Connection.php, ligne 449: SQLSTATE [42S01]: La table ou la vue de base existe déjà: 1050 Table 'utilisateurs' existe déjà

nishanth@localhost:~/Desktop/html/hutch$ php artisan migrate:rollback
Nothing to rollback.
nishanth@localhost:~/Desktop/html/hutch$ php artisan tinker
Psy Shell v0.8.17 (PHP 7.1.20-1+ubuntu16.04.1+deb.sury.org+1 — cli) by Justin Hileman
>>> Schema::drop('users')
=> null
>>> Schema::drop('password_resets')
=> null
>>> Schema::drop('orders')
=> null
>>> exit
Exit:  Goodbye.
nishanth@localhost:~/Desktop/html/hutch$ php artisan migrate
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table
Migrating: 2018_08_18_071213_create_orders_table
Migrated:  2018_08_18_071213_create_orders_table
nishanth@localhost:~/Desktop/html/hutch$ 

Définissez également la méthode down(), si elle n’existe pas. 
.__ Sinon, ça va montrer

SQLSTATE [42S02]: Table ou vue de base introuvable: 1051 Table inconnue 'XYZ.ABC' (SQL: table de suppression ABC)

/**
  * Reverse the migrations.
  *
  * @return void
  */
public function down()
{
    Schema::dropIfExists('ABC');
}
0
Nishanth ॐ