PHP artisan迁移不创建新表

Pra*_*uli 11 php laravel artisan artisan-migrate

我是新手Laravel,我正在关注Laravel Documentations以及一些教程视频.但是,我php artisan migrate在我的本地运行此代码,CMD prompt而不是Database Table在创建phpmyadmin.还有其他几个与此相关的类似主题,stackoverflow但没有解决我的问题.请不要标记此副本.

好的,就是这样.我运行这段代码

php artisan make:migration create_student_table --create=student
Run Code Online (Sandbox Code Playgroud)

并在迁移文件夹中创建新文件 2016_04_08_061507_create_student_table.php

然后在那个文件中我运行它 code

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

    class CreateStudentTable extends Migration
    {
        /**
         * Run the migrations.
         *
         * @return void
         */
        public function up()
        {
            Schema::create('student', function (Blueprint $table) {
                $table->increments('id');
                $table->timestamps();
                $table->string('name', 20); 
                $table->string('email', 255);
            });
        }

        /**
         * Reverse the migrations.
         *
         * @return void
         */
        public function down()
        {
            Schema::drop('student');
        }
    }
Run Code Online (Sandbox Code Playgroud)

然后在cmd我运行php artisan migrate但它没有创建student表.相反,它显示此消息

[PDOException] SQLSTATE [42S01]:基表或视图已存在:1050表'用户'已存在

users几天前我用类似的方法创建了表.但是student没有创建新表.我在这里错过了什么吗?提前致谢.

Jef*_*eff 11

这意味着Laravel首先尝试运行users表迁移.如果您正在开发中并且不需要保留数据,则可以删除该users表然后运行php artisan migrate


aim*_*mme 5

编辑

在运行新的迁移文件之前,从 database\migrations 文件夹中移出已经运行的迁移。运行新迁移后,将移回之前的迁移。

这意味着您已经运行了php artisan migrate一次并且该表已经存在于数据库中。composer dump-autoload如果工匠在撒谎,有时你需要做一个。

因此您需要在编辑和运行之前回滚上次更改php artisan migrate。回滚你可以使用phpartisan migrate:rollback

此外,如果您想删除所有更改,您可以运行php artisan migrate:reset.

php artisan migrate --force强制运行迁移强制。

完成所有这些步骤后,如果无法运行迁移,如果是开发环境,则再次删除数据库创建数据库并运行php artisan migrate.