Artisan, creating tables in database

五迷三道 提交于 2019-12-03 06:40:33

问题


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.


回答1:


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.



来源:https://stackoverflow.com/questions/30447385/artisan-creating-tables-in-database

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!