Artisan, creating tables in database

41

I am trying to create mysql tables in Laravel 5. I created a file in /project/database/migrations called 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();
    });
}
[...]

I then tried running these commands in the project-folder:

$ php artisan migrate
$ php artisan migrate:install
$ php artisan migrate --pretend

None of them return any output and no tables are created. The database to be populated exists.

This question is tagged with php laravel laravel-5 laravel-artisan laravel-migrations

~ Asked on 2015-05-25 23:45:05

The Best Answer is


71

Migration files must match the pattern *_*.php, or else they won't be found. Since users.php does not match this pattern (it has no underscore), this file will not be found by the migrator.

Ideally, you should be creating your migration files using artisan:

php artisan make:migration create_users_table

This will create the file with the appropriate name, which you can then edit to flesh out your migration. The name will also include the timestamp, to help the migrator determine the order of migrations.

You can also use the --create or --table switches to add a little bit more boilerplate to help get you started:

php artisan make:migration create_users_table --create=users

The documentation on migrations can be found here.

~ Answered on 2015-05-26 00:12:49


-1

in laravel 5 first we need to create migration and then run the migration

Step 1.

php artisan make:migration create_users_table --create=users

Step 2.

php artisan migrate

~ Answered on 2020-10-08 08:30:38


Most Viewed Questions: