J'essaie de créer des tables mysql dans Laravel 5. J'ai créé un fichier dans /project/database/migrations
appelé users.php
:
[...]
public function up()
{
Schema::create('users', function(Blueprint $table)
{
$table->increments('id');
$table->string('username');
$table->string('fullname');
$table->int('number');
$table->string('email')->unique();
$table->string('password', 60);
$table->rememberToken();
$table->timestamps();
});
}
[...]
J'ai ensuite essayé d'exécuter ces commandes dans le dossier project
-:
$ php artisan migrate
$ php artisan migrate:install
$ php artisan migrate --pretend
Aucun d'entre eux ne renvoie aucun sortie et aucune table n'est créée. La base de données à remplir existe.
Les fichiers de migration doivent correspondre au modèle *_*.php
, sinon ils ne seront pas trouvés. Puisque users.php
ne correspond pas à ce modèle (il n’a pas de trait de soulignement), ce fichier ne sera pas trouvé par le migrateur.
Idéalement, vous devriez créer vos fichiers de migration en utilisant artisan:
php artisan make:migration create_users_table
Cela créera le fichier avec le nom approprié, que vous pourrez ensuite éditer pour étoffer votre migration. Le nom inclura également l'horodatage, afin d'aider le migrateur à déterminer l'ordre des migrations.
Vous pouvez aussi utiliser le --create
ou --table
commutateurs pour ajouter un peu plus de passe-partout pour vous aider à démarrer:
php artisan make:migration create_users_table --create=users
La documentation sur les migrations peut être trouvée ici .