web-dev-qa-db-fra.com

Artisan, création de tables dans la base de données

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.

25
Streetlamp

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 .

38
patricus